那曲檬骨新材料有限公司

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>java源碼下載>

寫好代碼的技巧

大小:0.5 MB 人氣: 2017-09-28 需要積分:1

  寫好代碼的10個技巧2017-09-04 15:18程序設計

  《h2》寫好代碼的10個技巧《/h2》《blockquote》 《p》原文:《a href=“https://cdiggins.github.io/blog/programming-tips.html”》10 Tips for Writing Better Code《/a》 《br》 作者:Christopher Diggins 《br》 譯者:Teixeira10《/p》 《/blockquote》《p》【譯者注】在本文中,作者介紹了10個寫好代碼的建議,以自己切身編寫代碼的體會和經(jīng)驗來告訴開發(fā)者這10個建議的好處,并指導讀者成為一個優(yōu)秀而高效的程序員。 《br》 以下為譯文:《/p》《p》那么怎樣才可以使代碼變得優(yōu)秀呢?《/p》《p》好的代碼可以被認為是易于閱讀、理解、調(diào)試和修改的,而且最重要的是很少有缺陷。顯然,編寫良好的代碼需要花費更多的時間,但從長期看會有更多的價值,因為維護和重用代碼的成本會變的更低。《/p》《p》事實上,我們可以將好代碼與可重用的代碼等同起來,這是許多技巧背后的統(tǒng)一原則。作為一個開發(fā)特定功能的程序員,代碼可能會實現(xiàn)你的短期目標,但是如果沒有其他人想重用它的話(包括你自己),那么它一定是有缺點的,要么它太復雜,要么太具體,而且很可能在不同的情況下崩潰,從而導致其他程序員不相信這些代碼。《/p》《p》我發(fā)現(xiàn),嘗試將下列最佳實踐應用于你所編寫的所有代碼(包括你的實驗和原型代碼),可以讓你寫出更好的代碼,而不用考慮你的經(jīng)驗水平。《/p》《h3》1. 遵循單一責任原則《/h3》《p》在程序員的代碼庫中,函數(shù)是最重要的抽象形式。可以重用的代碼越多,編寫的代碼就越少,它們的可靠性也就越高。遵循《a href=“https://en.wikipedia.org/wiki/Single_responsibility_principle”》單一責任原則《/a》的小功能代碼就更有可能被重用。《/p》《h3》2.最小化共享狀態(tài)《/h3》《p》你應該最小化函數(shù)之間的隱式共享狀態(tài),無論它是文件作用域變量還是對象的成員字段,都支持顯式的值作為參數(shù)。當代碼明確了該函數(shù)需要什么來產(chǎn)生期望的結(jié)果時,代碼就變得更容易理解和重用。《/p》《p》這種情況下,你應該優(yōu)先選擇靜態(tài)無狀態(tài)變量,而不應該選擇對象上的成員變量。《/p》《h3》3.本地化的副作用《/h3》《p》理想的副作用(例如:控制臺打印、日志記錄、改變?nèi)譅顟B(tài)、文件系統(tǒng)操作等等)應該放在單獨的模塊中,而不是分散在整個代碼中。功能上的副作用常常違反單一責任原則。《/p》《h3》4. 優(yōu)先使用不可變對象《/h3》《p》如果一個對象的狀態(tài)在其構(gòu)造函數(shù)中被設置一次,并且再也不會發(fā)生變化,那么調(diào)試就變得容易得多了,因為一旦構(gòu)造正確,它仍然有效。這是減少軟件項目復雜性的最簡單方法之一。《/p》《h3》5.多用接口少用類《/h3》《p》使用接口(或在C++中使用模板參數(shù)或概念)的函數(shù)比在類上運行的函數(shù)更容易被重用。《/p》《h3》6. 將好的原則應用于模塊《/h3》《p》尋找機會,將軟件項目分解為更小的模塊(例如:庫和應用程序),以鼓勵模塊級的重用。模塊的一些關(guān)鍵原則是:《/p》《pre》《code》1.依賴最小化 2.每個項目都應該有一個明確的功能 3.不要重復 《/code》《/pre》《p》你應該努力使你的項目小而明確。《/p》《h3》7. 避免繼承《/h3》《p》在面向?qū)ο?a target='_blank' class='arckwlink_none'>編程中,特別是在虛函數(shù)中,繼承在可重用性方面往往是一個死死穴。我?guī)缀鯖]有成功地編寫或使用那些能覆蓋類的庫。《/p》《h3》8. 在設計和開發(fā)過程中進行測試《/h3》《p》我并不是測試驅(qū)動開發(fā)的鐵桿擁護者,但隨著開始編寫代碼,測試代碼會自然而然地遵循許多指導原則。它還可以幫助我們更早地發(fā)現(xiàn)很多錯誤。但是,要避免編寫無用的測試代碼,良好的編碼意味著更高級別的測試(例如:集成測試或單元測試以及功能測試),而且在揭示缺陷方面更有效。《/p》《h3》9.優(yōu)先選擇而不是手寫標準庫《/h3》《p》我無法告訴你我多久才能見到一個std::vector 或std::string更好的聲明,但這幾乎總是浪費時間和精力的。除了顯而易見的事實,你正在引入一個bug(參見技巧10),其他程序員不太可能重用你的代碼,因為這不是那些被廣泛理解、支持和測試的代碼。《/p》《h3》10. 避免編寫新的代碼《/h3》《p》這是每個程序員都應該遵循的:“The best code is the code that isn’t written”(最好的代碼是不用被復寫的代碼)。你擁有的代碼行數(shù)越多,你的缺陷就越多,發(fā)現(xiàn)和修復bug的難度就越大。《/p》《p》在編寫一行代碼之前,問自己,是否有一個工具、函數(shù)或庫已經(jīng)完成了你所需要的工作?你真的需要那個功能而不是調(diào)用另一個已經(jīng)存在的函數(shù)嗎?《/p》《h3》最后《/h3》《p》編程是一種非常類似于學習的一種藝術(shù)形式或一種運動的技能,通過用心練習,不斷地從別人那里學習,才會編寫的更好。不斷提高代碼質(zhì)量將有助于你成為一個更高效的程序員

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      百家乐官网平注赢钱法| 恒宝国际| 百家乐官网游戏玩法规则| 新澳博百家乐官网现金网| 百家乐猜大小规则| 在线棋牌| 凯旋门百家乐技巧| 扎鲁特旗| 百家乐稳赢投资法| 澳门百家乐官网破解| 威尼斯人娱乐场色碟| 永康百家乐官网赌博| 威尼斯人娱乐城线上赌场| 澳门百家乐官网必赢看| 凯旋门娱乐场| 全景网百家乐的玩法技巧和规则 | 亿酷棋牌世界官网| 宝龙百家乐娱乐城| 百家乐官网平技巧| 大发888在线娱乐城二十一点| 阴宅24层手机罗盘| 百家乐官网为什么庄5| 大发888游戏网页版| 百家乐最常见的路子| 网上百家乐官网娱乐场| 六合彩天线宝宝| 百家乐详情| 百家乐投注双赢技巧| 百家乐官网论坛香港马会| 世界顶级赌场酒店| 网上百家乐娱乐平台| 太阳百家乐官网3d博彩通| 大发888官网下载| 91百家乐的玩法技巧和规则| 新世百家乐官网的玩法技巧和规则 | 678百家乐博彩娱乐场开户注册 | 百家乐官网直杀| 网络百家乐官网| 广宁县| 大发888大发888m摩卡游戏博彩官方下载 | 东源县|