1. 程式人生 > >如何編寫更棒的程式碼:11個核心要點

如何編寫更棒的程式碼:11個核心要點

世上沒有絕對完美的事情。儘管你認為自己的程式碼已經寫得非常完美了,過一段時間也要經常去看看它,也許那時你會對自己大罵:”怎麼會那麼傻!”

有一種提高程式碼質量的方法,那就是經常重構通過測試的程式碼。所謂通過測試,我指的是程式要能正常工作,你可以通過自動化測試或者手動測試來確保這一點。

首先你要確保程式能夠正常執行,第一次我們並不需要寫出多麼完美的程式,能用就行,接下來我們可以慢慢重構,讓它逐漸變得完美。這種開發方式很有TDD的味道,關鍵在於你需要熟悉重構的每一個環節。如果你熟練使用一些高階的IDE,像IntelliJ IDEA,那你的重構工作將會簡單很多。

重構完以後,也許你會碰到很多這樣那樣的問題,甚至會破壞正常的程式,這就是我們要利用自動化測試的原因了。當你重構完以後,跑一遍單元測試就能避免這些令人頭疼的問題了。

相關推薦

如何編寫程式碼11核心要點

世上沒有絕對完美的事情。儘管你認為自己的程式碼已經寫得非常完美了,過一段時間也要經常去看看它,也許那時你會對自己大罵:”怎麼會那麼傻!”有一種提高程式碼質量的方法,那就是經常重構通過測試的程式碼。所謂通過測試,我指的是程式要能正常工作,你可以通過自動化測試或者手動測試來確保這一點。首先你要確保程式能夠正常執行

編寫高質量程式碼改善Java程式的151建議(第1章Java開發中通用的方法和準則___建議11~15)

    序列化Serializable是Java提供的通用資料儲存和讀取的介面。任何類只要實現了Serializable介面,就可以被儲存到檔案中,或者作為資料流通過網路傳送到別的地方。 package OSChina.Serializable; import java.io.

編寫高質量程式碼改善Python程式的91建議(高清版)PDF

編寫高質量程式碼:改善Python程式的91個建議(高清版)PDF百度網盤連結:https://pan.baidu.com/s/1rPdBouMjuAhOm1HZtRLrVQ 提取碼:smh0 複製這段內容後開啟百度網盤手機App,操作更方便哦內容簡介 · · · · · · 在通往“Python技術殿堂”的

每週一書-編寫高質量程式碼改善C程式程式碼的125建議

首先說明,本週活動有效時間為2016年8月28日到2016年9月4日。本週為大家送出的書是由機械工業出版社出版,馬偉編著的《編寫高質量程式碼:改善C程式程式碼的125個建議》。 編輯推薦

Web前端11讓你程式碼整潔的原則

寫Web頁面就像我們建設房子一樣,地基牢固,房子才不會倒。同樣的,我們製作Web頁面也一樣,一個良好的HTML結構是製作一個美麗的網站的開始,同樣的,良好的CSS只存在同樣良好的HTML中,所以一個乾淨的,語義的HTML的優點很多,那麼平時製作中,我們做到

quojs 及 轉11處理觸摸事件和多點觸摸的JS庫

eal detail true asc tps www ast box asp QuoJs官方文檔http://www.360doc.com/content/15/0504/18/11984479_468037372.shtml ==== 11個處理觸摸事件和多點觸

產品方法論總結(7)——產品服務設計的幾核心要點

好的 藍圖 記憶 時長 品牌 朋友圈 蝸牛 今天 自己 前面總結的方法比較宏觀,今天匯總了一下,分享一下產品在服務設計時具體的3個核心要點,分別是:用戶故事、峰值&終值、上癮機制、口碑。 第一,用戶故事。簡單解釋一下就是,先向用戶展示產品的功

第一行程式碼以太坊(3)-使用多的工具編寫和測試智慧合約

在上文中已經使用了Remix環境執行和測試了本書編寫的第一個智慧合約程式,不過編寫和測試智慧合約的測試方式很多,例如,在testrpc環境測試;在Intellij IDEA整合開發環境中用Solidity語言編寫智慧合約;在純Web環境中測試智慧合約;使用AJAX方式測試智慧合約等。本文將詳細介紹這些

程式碼編寫一個簡單的字元裝置驅動——建立多同類型裝置

編寫同類型多個裝置字元驅動應注意一下幾個問題: 1、申請裝置號alloc_chrdev_region時須指定次裝置號範圍; 2、動態分配裝置空間時同時分配NUM個裝置的空間; 3、根據次裝置號和統一的主裝置號生成針對單個裝置的devno,然後完成cdev_add註冊; 4、

Github即將破百萬的PDF編寫高質量程式碼改善JAVA程式的151建議

在通往"Java技術殿堂"的路上,本書將為你指點迷津!內容全部由Java編碼的最佳 實踐組成,從語法、程式設計和架構、工具和框架、編碼風格和程式設計思想等五大方面,對 Java程式設計師遇到的各種棘手的疑難問題給出了經驗性的解決方案,為Java程式設計師如何編寫 高質量的Java程式碼提出了151條極為

JavaScript工作機制V8 引擎內部機制及如何編寫優化代碼的5訣竅

with 由於 intern 但是 集成 項目 ssi 意義 實的 概述 JavaScript引擎是一個執行JavaScript代碼的程序或解釋器。JavaScript引擎可以被實現為標準解釋器,或者實現為以某種形式將JavaScript編譯為字節碼的即時編譯器。 下面是實

11 的 jQuery 分步指引插件

trap 特定 需要 開發 ews 新功能 com ava 選項 當一個網站或者一個Web應用推出新功能時,為了讓用戶了解你的站點(或應用)如何操作,往往都會在站點(應用)中添加一個分步指引的效果。然而這樣的效果,對於不懂原生JS的同學來說,是件很頭痛的事情。 下面為大家介

EL表示式的11內建物件

原文地址:https://blog.csdn.net/qq_17045385/article/details/54799998 EL是JSP內建的表示式語言 JSP2.0開始,不讓再使用Java指令碼,而是使用EL表示式和動態標籤來代替Java指令碼 ############EL替代的是<%=..

11月5日科技聯播33 品牌天貓雙十一預售成交額已破億;蘋果的5G iPhone將在2020上市

天貓雙11預售成績單已至,這些品牌已躋身“億元俱樂部”;與高通徹底決裂,蘋果5G手機將在2020年推出,使用英特爾晶片;ofo搬離北京總部大廈;特斯拉提升中國工廠產量,上海工廠每週生產3000輛Model 3;一起來看今天的科技快訊: 天貓雙11預售“億元俱樂部”最新名單曝光:33個品牌領跑 天貓雙1

編寫高質量程式碼改善C#程式的157建議——導航開篇

為什麼要來看這本書    寫此書的作者在書中也有明確的記錄。作者一直在思考一個問題:就是到底什麼樣的程式設計書籍能夠幫助入門者快速進階?所謂“入門者”指的是已經可以使用一門語言來編寫程式,但是不太明白如何編寫高質量程式碼的人。作者回憶自己開發生涯的入門階段發現,那時候常常被以下三類問題所困擾。

Linux 桌面玩家指南11. 在同一個硬碟上安裝多 Linux 發行版以及為 Linux 安裝 Nvidia 顯示卡驅動

特別說明:要在我的隨筆後寫評論的小夥伴們請注意了,我的部落格開啟了 MathJax 數學公式支援,MathJax 使用$標記數學公式的開始和結束。如果某條評論中出現了兩個$,MathJax 會將兩個$之間的內容按照數學公式進行排版,從而導致評論區格式混亂。如果大家的評論中用到了$,但是又不是為了使用數學

阿璽支援天貓雙11核心技術,100%對外開放

小螞蟻說: 每年天貓雙11都是技術的最大練兵場,無數技術都是經歷了雙十一的考驗,歷練和打磨,最終成為人們的生活日常。 今年雙11當晚破2000億時,螞蟻金服合夥人,副總裁,副CTO胡喜在上海做了一個面向媒體記者朋友的演講,介紹十年來螞蟻技術的發展,以及我們的開放戰略。以下是演講全文。 我經歷了將

程式設計師入職華為三月沒寫過程式碼渴望提交程式碼,創造價值!

一名程式設計師,由於公司的專案情況,長期不能寫程式碼,你是什麼感受呢?是不是感覺很失落,大部分程式設計師都會有這種感覺吧,有的時候可能是研究一些技術,看一些程式碼什麼的,部分程式設計師就不願意幹這樣的事情,感覺還是自己寫程式碼爽,最近就有一名華為員工經歷了這樣一種情況!  

用Flow編寫好的js程式碼

關於本文: 原文地址 翻譯地址 譯者:野草 本文發表於前端早讀課【第897期】 你是否經常在debug那些簡單可避免的bug?可能你給函式傳參的時候搞錯了引數的順序,或者本來應該傳個Number型別的引數,你傳了一個String型別?JavaScript的弱型別是這一類bug的罪魁禍