向優秀開發人員學習的14條重要編碼規則
如果您從未編碼過,那麼您可能會認為軟件開發就是用某種語言編寫一堆代碼,然後在準備就緒時將其發佈到生產級別。好吧,這是正確的,但有一部分。
問一個開發人員,他們在日常工作中實際做什麼?他們編寫代碼的方式以及在構建某些功能時需要注意的一些隱藏規則。除了編寫代碼之外,開發人員還需要遵循很多未編寫的規則。即使他們的心情也可以通過他們在應用程序中編寫的代碼來識別。
請記住,編程不僅僅是解決問題並使功能正常工作。您還必須照顧很多事情。您如何命名變量,如何使用循環,條件語句,註釋等。如何記錄,調試和測試應用程序。這些是僅開發人員及其團隊知道的職責。客戶或最終用戶完全不知道它,但是對於在市場上成功啟動該軟件,這些重要因素至關重要。
現在我們有一些問題要問您……
如果一個應用程序沒有經過正確的測試並且在用戶使用時崩潰了,將會發生什麼?
如果一個新的開發人員必須處理另一個開發人員編寫的某些代碼,而僅僅因為代碼的複雜性而使他/她感到困惑,將會發生什麼?顯然,他/她將花費更多時間或無法繼續進行。
以前從未編碼的人始終不知道這些問題及其解決方案。在此博客中,我們將討論這些問題以及開發人員應遵循的軟件開發的一些重要方面。
1.保持一致
在您的應用程序中遵循一致的編碼標準。無論採用哪種結構或方法,請確保在整個應用程序中與之保持一致。如果您遵循一種方法在某處做某事,然後在另一處遵循類似的方法。這將使您的代碼更具可讀性和可維護性。
例如:如果您要在應用程序中命名諸如variableOne,variableTwo之類的變量,則在其他地方也採用類似的方法。對於第三個變量,名稱應為variableThree,而不是variable_three。照顧這些小事情。
編碼標準應與變量的命名約定一樣少。您的應用程序的結構應盡可能簡單,以便其他開發人員可以輕鬆地對其進行處理,為其添加功能以及對其進行更改。
2.減少嵌套
很多時候,開發人員在其代碼中編寫嵌套語句。例如…在另一個if-else內寫if語句,或在另一個if-else內寫if-else語句。很多時候,閱讀和理解代碼變得非常混亂。應用程序的代碼嵌套結構變得複雜且混亂。
如果發現需要編寫一個嵌套語句,請遵循那裡的guard子句方法。用這種方法,您可以立即使用return語句或異常退出函數。
沒有檢查條件的代碼:
// Without a guard clause
if (accountBalance != null)
{
if (getOrder != null)
{
if (getOrder != null.term == Term.Annually)
{
// term annually
}
else if (getOrder.term == Term.Monthly)
{
// term monthly
}
else
{
throw new InvalidEnumArgumentException(nameof(term));
}
}
else
{
throw new ArgumentNullException(nameof(subscription));
}
}
有條件檢查的代碼:
// With a guard clause
if (accountBalance ! == null)
{
throw new ArgumentNullException(nameof(account));
}
if (getOrder != == null)
{
throw new ArgumentNullException(nameof(order));
}
if (getOrder.term == Term.Annually)
{
// term annually (return here)
}
if (getOrder.term== Term.Monthly)
{
// term monthly (return here)
}
throw new InvalidEnumArgumentException(nameof(order.term));
3.縮小並考慮更大的圖片
每當您開始處理項目時,都需要縮小軟件圖片。考慮更大的前景,以分析應用程序的較小細節。這將幫助您了解軟件的體系結構及其各個組件。
4.在代碼中命名事物
軟件開發中最困難的部分之一是為每段代碼選擇一個相關的名稱。您需要仔細注意變量,類或方法的名稱。例如:如果您正在構建某個項目,在其中進行leap年的計算,則可以將其命名為“ leap_year”。一定會看您的代碼的人肯定會發現您已經完成了與jump_year相關的事情。
良好的命名約定對於提高代碼的可讀性很重要,並且還可以減少不必要的註釋行。
5.高估
作為開發人員,您應該始終認為任務完成所需的時間比您預期的要長。在處理項目時,請始終高估任務的時間安排。低估任務可能會在應用程序中造成技術負擔。您將有時間使功能正常工作,但您將沒有時間使代碼乾淨和可維護。
6.文檔和代碼註釋
許多開發人員避免在應用程序中註釋代碼或記錄事物。他們認為這只是浪費時間,但事實並非如此。文檔和註釋對理解應用程序特定部分的作用有很大幫助。
當您評論自己的代碼時,它說明了您為什麼要做某事。當其他開發人員開始進行開發時,他們會立即了解功能,模塊或組件。他們很容易理解,修改和更改您的代碼。
7.刪除不必要的代碼
在開發中,大多數時候,開發人員編寫一些代碼,後來他們只是因為對它們不太自信而將大量註釋註釋掉。他們離開他們的想法是,將來他們可能必須使用那段代碼。優秀的開發人員非常清楚代碼的哪個特定部分在代碼庫中並不重要。版本控制是有目的的,優秀的開發人員對刪除應用程序的不良部分很有信心。
8.花一些時間進行代碼審查
不要低估代碼審查在軟件開發中的重要性。優秀的開發人員總是將大量時間花在代碼審查上,他們知道如何幫助構建良好的應用程序。以下是有關代碼審查的一些好處……
您可以及早發現錯誤,然後再在軟件中造成一些重大問題
您可以節省時間,可以提高技能,還可以學習一些良好的做法。
分享知識。
軟件設計和實施將保持一致。
為了獲得最佳的代碼審查過程,您可以按照下面提供的一些實用技巧進行操作……
如果您的任務較小,風險較小,那麼一名開發人員就足以查看該代碼。
如果您的中型任務風險更大或涉及更多更改,則3-5個開發人員可以查看代碼,但其中一位應該是高級開發人員。
如果您要處理更具風險的任務/變更,請安排一次會議並與至少3個開發人員進行交流。另外,其中一位應該是首席開發人員,他要一起檢查每條線並檢查要點。
9.測試
許多開發人員避免將其視為耗時的過程來進行測試,但是優秀的開發人員從不逃避測試。他們花時間編寫一個良好的測試,這有助於他們更加自信地擴展應用程序。另外,您還可以防止自己引入軟件中的許多錯誤。
10.專注於基礎知識而不是語法
這是在軟件開發中要學習的最重要的事情之一。好的開發人員知道,掌握基礎知識比過度關注語言語法更重要。您將能夠有效地發現問題。
掌握基本概念後,您將對問題和軟件有更多的了解。這有助於在將來搜索問題並輕鬆檢測錯誤。
11.取得Google的幫助
在Google上搜索問題並不表示開發人員表現不佳。它很聰明,也可以提高開發人員的生產率。好的開發人員是谷歌搜索和解決問題的專家。再次閱讀技巧4。精通基本概念的開發人員知道要搜索的Google術語。
不要沉迷於學習語法。使Google成為您最好的朋友,專注於基礎知識,這對谷歌搜索和獲取所需的解決方案有很大幫助。
12.使它工作,然後再使其完善
很多時間,開發人員過於注重使事物更漂亮。他們的重點更多地轉向了它,而不是檢查其代碼是否正在運行。他們花了很多時間在使事情變得完美上,後來在執行代碼時,他們發現那是行不通的。
作為開發人員,您花更多的時間來使事情變得完美的時候,您越會發現您的軟件中存在不完善的事物。在執行某些任務時,首先要專注於使事情正常運行。一旦完成,您就可以專注於使事情變得完美。
這種方法節省了大量時間,您可以在使問題變得完美之前及早發現問題。如果您的代碼或功能不起作用,則使事情變得太完美沒有意義。
13.提問
優秀的開發人員會毫不猶豫地提出問題。每當他們不知道的東西時,他們都會問問題,即使問題是最簡單的問題。提出問題並不令他們感到尷尬。他們對自己的能力充滿信心,也不會在問問題時感到害怕。這些問題可以與技術或業務相關的問題有關。
提出問題可以消除所有的困惑,這是好奇心的徵兆,而不是無所事事的能力。
14.KISS(保持簡單愚蠢)
許多開發人員編寫複雜的代碼只是為了展示他們的智能程度。事情實際上是相反的。優秀的開發人員相信使事情簡單而不是複雜。他們編寫簡單的代碼,以便其他開發人員可以理解,修改和使用它。另外,使代碼中的內容保持簡單會使應用程序更具可讀性和可維護性。
最後總結
閱讀以上所有內容後,您可能已經意識到,軟件開發不僅僅是編寫代碼並使事情正常進行。在某些應用程序上工作時,有很多事情要記住。請牢記上述所有關鍵點,並在開發過程中遵循它們。您一定會在職業上取得進步。