究竟要不要寫代碼註釋?

来源:https://www.cnblogs.com/viaiu/archive/2019/01/13/10264155.html
-Advertisement-
Play Games

看完上圖你是什麼反應?會罵人嗎?會就對了……,代碼整潔之道,是一條很漫長的路,註釋是其中一部分。 ...


看完上圖你是什麼反應?會罵人嗎?會就對了……,代碼整潔之道,是一條很漫長的路,註釋是其中一部分。

如果是一個很大的方法,要不要加註釋?一個大方法按照它的功能被分割成幾個小方法,這樣代碼就比較容易閱讀了,但有的童鞋說能在項目的deadline裡面搞出來就行了,哪有時間整理這種大方法?為了讓你的搭檔或者接手者,更輕鬆的理解,讓她/他少加班,抽時間還是整理一下吧。按照樹的結構,一個主幹,其他分支都是處理不同的邏輯。

如果是小方法能做到見名知意,就一定要見名知意,習慣總是要培養的,接一句雞湯:走得慢並不要緊,只要你堅持不停地走,那麼總有一天你能走到你想要到達的地方,能超過道旁那些不敢走的人。走正道!

大牛們總是說:代碼就是最好的註釋。可惜我還沒有達到那個程度。但是我依然嘗試著用命名代替註釋,發現自己做的並不對,如果你團隊的新人呢?比較複雜的方法,靠命名?所以這個時候還是建議把註釋寫的清清楚楚,其一:為了自己以後維護的方便; 其二:為了其他人接手的方便。

總結一下:

  • 如果自己的英語不好

對我們來說第一語言是中文的,英語不好情況就不一樣了,這就是為什麼國人的建議大多要求註釋詳盡,讓代碼更易讀易懂;而老外的建議幾乎是儘可能的少;符合我國基本國情。

  • 如果自己的水平還不夠

對於很複雜的邏輯,務必用12345的順序依次寫清楚;對於函數中的某個參數,需要解釋為什麼要設置這個參數,尤其是公用工具類裡面的函數---說清楚參數的背景含義,可以讓其他調用者理解的更加清晰。

  • 如果整個團隊水平參差不齊

一般不要用英文寫。雖然這樣看起來格調很低,但勝在大家都能輕鬆的看懂。寫代碼不能太傲嬌,不能太任性,寫註釋也不要太傲嬌,目的是讓你的搭檔或者接手者,更輕鬆的理解,提高效率,早點回家老婆孩子熱炕頭。

我們不能保證每個團隊裡面的每個成員都是大神,寫該寫的註釋,單一定要去嘗試用方法名和變數名去替代註釋,說不定哪一天你也成為了大神?

稍後等於永不,行動起來……


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • PTA|團體程式設計天梯賽-練習題目題解錦集(持續更新中) 實現語言:C/C++; 歡迎各位看官交流討論、指導題解錯誤;或者分享更快的方法!! 題目鏈接:https://pintia.cn/problem-sets/994805046380707840/problems 目錄 (點擊對應題目即可進入 ...
  • hibernate是orm(對象關係映射)框架 即通過配置文件使對象與資料庫表關聯 讓eclipse斷網擁有xml提示功能 ①解壓hibernate-core-5.0.7.Final.jar ②進入org\hibernate下複製到單獨文件//此處演示配置單個 其餘配置同理hibernate-con ...
  • 課程目標 目標1:瞭解電商行業特點以及理解電商的模式 目標2:瞭解整體品優購的架構特點 目標3:能夠運用Dubbox+SSM搭建分散式應用 目標4:搭建工程框架,完成品牌列表後端代碼 1. 走進電商 1.1 電商行業分析 近年來,中國的電子商務快速發展,交易額連創新高,電子商務在各領域的應用不斷拓展 ...
  • 終於組裝了臺電腦,花了三千塊。Ryzen5 2600+GTS250,8G DDR4駭客神條,240G SSD。幾秒鐘就能開機,開機完立刻就能打開軟體,還能同時開很多軟體,徹底顛覆了之前我對電腦的印象。 拿到新電腦肯定刷洛谷啊,之前都沒時間刷。結果新手村就卡住了(忘記怎麼不開double四捨五入)。這 ...
  • 背景:聽說Java運行時環境的記憶體劃分是挺進BAT的必經之路。 記憶體劃分: Java程式記憶體的劃分是交由JVM執行的,而不像C語言那樣需要程式員自己買單(C語言需要程式員為每一個new操作去配對delete/free代碼),放權給JVM虛擬機處理有利也有弊,好處是不容易出現記憶體泄漏和記憶體溢出問題,壞 ...
  • [toc] 1.環境介紹 本篇文章涉及到前面文章的工程,mirco service provider、mirco service consumer以及需要另外新建一個工程mirco service turbine hystrix dashbord。 2.服務監控 2.1 加入依賴 為“mirco s ...
  • jdk8 foreach創建對象優化 lambda foreach 創建對象 @Async public void asyncFullEsDoc() { List<Integer> docIdList = Arrays.asList(913,914); if (CollectionUtil.isNo ...
  • 背景 Elasticsearch 不像關係型資料庫,沒有簡易的 SQL 用來查詢數據,只能通過調用 RESTful API 實現查詢。大體上查詢分為兩種,基於 URL 的和基於請求主體的。基於 URL 的方式比較簡單清晰,用得較多,在這簡單記錄下。 基本模式 基於 URL 的搜索請求基本模式如上圖所 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...