導航:首頁 > 程序命令 > 程序員內功要注釋嗎

程序員內功要注釋嗎

發布時間:2022-09-03 10:51:30

❶ C#學習回顧筆記二:注釋是什麼,為什麼要使用注釋

1)什麼是注釋?

注釋是在編寫代碼時,用於對代碼進行手動文字描述的一種方式。注釋還有一個用處是把暫時不需要的代碼進行處理,標記為注釋的文字不會被編輯器識別報錯,即便是語法錯誤的代碼只要標記注釋也沒有任何問題。重要:謹記「不寫注釋是流氓,名字瞎起是扯淡」

2)為什麼使用注釋?

有時候編寫的代碼太多太復雜時,需要對一句或者一段代碼進行文字描述,用於記錄代碼的功能以方便以後的觀察。但嚴格地說,編寫代碼時並不是注釋越多越好,而是在適當的時候,適當的地方使用注釋,如果是很簡單的代碼則不需要增加註釋。

在編寫一個程序時,就會寫很多代碼。如果不小心多按了一下鍵盤,就會留下一個很致命的字元。我們編寫代碼的環境必須要求寫的代碼符合編寫規則。如果隨意使用中文下的字元或者不注意大小寫,甚至認為不小心在某個位置多寫了一個字元就覺得無所謂,那麼就是大錯特錯。


紅色箭頭指示的就是給Main方法做的文檔注釋。強調一次:注釋的東西不會影響到程序的正常執行,注釋只是程序員對自己代碼做功能描述或補充,方便以後看懂代碼或修改代碼。

4)補充

最後補充在VS中常用的三個快捷鍵:

1.快速對齊代碼 ctrl+K接著ctrl+D。在VS里編寫代碼有個好處是代碼有時候會自動補全和對齊,但如果有時候感覺代碼變亂了,可以嘗試使用這個。

2.注釋所選代碼 ctrl+K接著ctrl+C。先選中需要注釋的代碼,一行或者多行,然後使用這個快捷鍵。相當於在選中的每行代碼前自動添加//。

3.取消注釋代碼 ctrl+K接著ctrl+U。如果有批量被注釋的代碼,用此快捷鍵相當於去掉選中的每行代碼前的一對//。

❷ 現在的公司需要的程序員要具備什麼能力啊

最佳答案
作一個真正合格的程序員,應該具有的素質。

1:團隊精神和協作能力

團隊精神和寫作能力是作為一個程序員應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。

2:文檔習慣

文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。

3:規范化的代碼編寫習慣

知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。

4:需求理解能力

程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。

5:模塊化思維能力

作為一個優秀的程序員,他的思想不能在局限當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。

6:測試習慣

測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。

7:學習和總結的能力

程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員、項目經理。

作為高級程序員,乃至於設計師而言,除了應該具備上述全部素質之外,還需要具備以下素質:

1、 需求分析能力

2、 整體框架能力

3、 流程處理能力

4、 模塊分解能力

5、 整體項目評估能力

6、 團隊組織管理能力

❸ 程序員的編程內功和外功有哪些如何看待編程內功和外功的關系

內功:演算法設計
外功:實現能力

外功是內功表現的基礎,光有外功也能打人,但是內功強了才能打死人
內功練好了,不管碰到什麼兵器(語言)都能駕馭自如

❹ 看特別長的代碼,連個注釋都沒有,各個變數都不知道它要幹嘛,怎麼辦

不是的
一般比較規范的公司都會要求程序員在編寫代碼的過程中 保證變數命名簡潔、有意義且最好能夠自解釋,比如一般會把 用戶名 變數 聲明為 string strUserName;,這樣後面的代碼閱讀者能夠一眼就看出這個變數表示什麼。
而且 也會要求程序員書寫必要的注釋。

❺ 一個程序員需要有怎樣的自我修養

作為一名程序員,一個「程序員的自我修養」是什麼?
盡管我們不一定要像尹天仇那麼的認真對待自己的事業,但,一些基本的修養,作為一名新時代的碼農,總應該是要具備的吧。不過真要說修養,方面還是挺多的,技術自我提示自不必說。但我並不打算從這個大家都覺得理所當然的技術方面入手,而是談談,可讀性代碼,這個容易被大家忽視的基本素養。
1、遵從所在團隊的代碼規范。
一個高效、成熟的團隊,必定有一個屬於自己的代碼規范,這個規范是團隊的寶貴的財富,它是整個團隊從各種坑中爬起來後積累的經驗教訓。什麼是規范,它是人們從無數經驗中總結出來的規則,標准。而代碼規范,指導團隊成員如何以最短的時間寫成最高效,可讀性強的代碼。試想,如果成員不遵從規范,你用駝峰命名,他用下劃線,這對程序的可讀,將造成多大的影響。我想,應該沒有一個人願意去閱讀一段,各種變數命名形式都能見得到,private, public 方法隨意排序,甚至常量類都散落在各個角落的代碼吧。
代碼,一個作用是讓機器閱讀,另一個重要的作用是讓人閱讀!!!

2、遵從行業內通用的規范
在團隊的代碼規范未涉及到的,那請按照行業內的規范來編寫代碼。規范的一個好處是,可以明顯減少學習和交流成本。在java中,當我們看到全大寫的變數名時,我們就知道這是常量,而不需要去看注釋,不需要去看代碼邏輯。為什麼這么迅速,因為行業里大家都習慣把常量用大寫命名。但假如你用其他命名方式命名常量,比如team_nums命名常量,不僅不能讓人迅速知道這是個常量,而且可能讓人誤會這是個變數,增加了團隊成員學習和溝通成本,甚至可能誤導他們。就見過一位仁兄,明明用的是工廠模式,偏偏按模版模式的命名方式來命名,問他,他說他知道這是工廠模式,但他覺得,更應該叫模版模式。。。我的天,,你這么任性,以後還能做朋友么?
舉個例子,我們需要根據支付類型,來生產多個支付產品,於是,我們寫了個工廠類,命名為FactoryPay。當其他人看到一個類叫FactoryPay,他們會猜測,這應該是個工廠類,負責生產各種支付產品的工廠,然後按照這個猜測去閱讀代碼,就能比較快速的理解整個類的作用。但是,假如我取名PowerPay,別人還不知道是啥,看了半天,才明白,這是個工廠的作用。這就明顯增加了他人的學習成本和維護代碼的成本。

不管你是新手還是老鳥,務必了解施行行業規范,切勿為了標新立異而違反規范。這么低端的裝逼,就沒必要採用了,要裝也寫個高端的框架來提升逼格唄。

3、變數、方法命名要能表達變數作用
在程序員這個圈子很久了,就發現,程序員這貨,都喜歡這套,「這個介面幹嘛用的,有文檔么」,「自己看代碼去」。很多時候都是一臉黑。
盡管程序員閱讀別人代碼技術都是一流,不管你是有沒有注釋,不管你是怎麼循環嵌套,也不管你是怎麼命名,他們都能耐心的,把代碼分析個所以然來。但,對於程序員這個視時間寶貴如生命,分分鍾都能創造幾百萬價值的群體來說,您行行好,給我們省點時間吧,把變數是幹啥用的,說清楚唄,沒准節省的這幾分鍾,多賺個幾萬,還能請大家出去嗨呢。
每每看到部門的某大神,用一個神一般的變數名「flag」,我就有吐血的沖動,他還這個flag一直雪藏,不用,只是傳遞到第n個方法才使用,頓時心力交瘁,我的天,這個flag都是是幹嘛用的啊,後來才明白,是isPay的意思,用來標識用戶是否支付成功了。當時一口老血吐屏幕上,心裡狂吐槽,老兄,你命名個isPay會死么,我的腦細胞這么不值錢么。到後來看到,去魔法數字,用int NUM_7 = 7,而不是MAX_MEMBERS來表示最大成員、用x y z來命名變數名,各種只有作者,或者作者後來都忘了的獨特命名方式,都見怪不怪了。更有甚者,一個變數命名為passed,作用居然是「未通過」的意思,當時就石化了,作者還真是用心良苦,這都要考我細心不細心。
一個好的變數名,能幫助閱讀者了解變數的作用,也輔助了對整段代碼的理解。

4、不要show英語,鄉下的孩子傷不起唉
LZ所在的團隊,英語一直都是團隊的硬傷,但總是能看到,某位仁兄,加上大把大把的英文注釋,有些變數名也取些高大上的復雜的英語單詞。敢問,你這么高的逼格,以後我們怎麼和你玩啊。(那位仁兄其實就是LZ,年輕時唉,罪過罪過)
代碼是用來溝通的,傳遞作者意圖的,都看不懂,怎麼溝通交流。建議英語好的童鞋,英語能力可以放到閱讀英文書籍中展示,在代碼中,如果團隊英語能力很弱,避免使用英文,變數命名也盡量按照團隊英語水平來命名

5、添加必要的注釋
正如上面LZ說的,經常遭遇「你仔細看看代碼,就知道幹嘛用的」這樣的神回復。盡管閱讀代碼是每個程序員的強項,但必要的注釋,比如邏輯比較復雜的地方,添加必要的注釋,對提升團隊成員閱讀熟悉代碼的效率是有很大幫助的。試想,一個類,幾百行,沒有一行注釋,對於閱讀者來說,閱讀它將是一個多麼恐怖的事。

6、注釋保持簡潔,避免沒有必要的注釋
即看過一行注釋都沒有的代碼,也看過注釋比代碼還要多的程序。一個是讓人生不如死,一個是讓人痛不欲生。(唉,有時不僅感嘆,在程序員界混,真的是難)。
LZ就經常看過,一大段注釋,啰嗦了半天,要不就是沒表達清楚重點,要不就是只為說明它是個循環的作用!!!譬如i++這樣的代碼,有必要加個「每個計數增加1」這樣的注釋么,這完全是把讀者定位為非程序員啊,或者就是嚴重鄙視讀者的編程水平。
注釋是幫助閱讀的人更好的理解程序的邏輯,只是輔助,如果不重視通過命名等方式來傳遞代碼的作用,而是依賴於注釋,這就是本末倒置了。而且,冗長啰嗦的注釋,這到底是幫助人理解,還是阻礙人理解啊,是讀程序還是讀小說啊。

7、擁有自己的編碼規范
規范是為了讓團隊更快的理解、熟悉代碼的,同理,擁有自己的一套規范,就能幫助其他人更快的理解我們所寫的功能,減少學習和溝通成本。

8、代碼清晰簡潔的表達出作者的意思
在我們每次寫完一段代碼時,一定要問問自己,代碼是否表達清楚了我的意思,是否需要添加些注釋,名字取得是否恰當了,別人在閱讀時是否吃力。。每每看到別人一團糟的費解的代碼,就時刻提醒自己,一定要把代碼寫好咯,我也確實是這么做的,一遍又一編的檢查,看變數名、方法名是否表明了它的用途,是否有些不必要的、只是為了提升逼格的代碼,別人是否能在短時間內看懂。所有的這些,只是為了寫出一段更優美的代碼。

9、堅持並捍衛上面的准則
經常能聽到,有些公司是代碼行數來定義績效的,但作為一個有操守,並秉承基本自我修養的程序員,我們絕不能為了各種誘惑或者脅迫,甚至是自己的惰性、個性,而放棄寫出簡潔清晰,可讀的代碼。

以上的幾點,並不是嚴格的意見或者建議,只是提醒廣大程序員同胞們,在痴心與高端的技術時,千萬不要忘了,代碼不僅機器要閱讀,人也需要閱讀。就算你寫出再復雜的代碼,但它讓人完全無法閱讀,這有什麼用呢。這就如同,你很牛逼很牛逼,但別人聽不懂你說的話,還不是沒用。如果你真的寫出了可讀性強的代碼,但你也不應該鳴鳴得意,我覺得,寫出一段優美,健壯,可讀性高的代碼,是一個程序員最基本的自我修養。

❻ 程序員在寫代碼的時候,為什麼要在代碼旁邊寫漢字

寫的字是代碼注釋

通常寫代碼的時候思如泉湧,一下邏輯通了就突突突的寫,完全停不下來,但是激情釋放過後呢,一開始跑代碼有可能就會遇見問題,如果遇見問題了那麼就只能回去重新梳理,但是如果沒有注釋的情況下許多東西能難一秒理解,並且很難懂一些關鍵節點,所以用我們熟悉的漢字標注一下就更容易理解了,理解了這些東西之後能更快處理問題,也方便日後升級改造時更快的處理,如果沒有注釋那可能幾個月之後你就會忘記這里的含義,重新修改的時候就會困難重重。

❼ 我用C語言寫程序,不加註釋可以嗎求解

當然可以了,注釋是不影響c程序執行的,而且即使你加了注釋,在生成Release版程序時,注釋什麼的也會被刪掉。 當然,在Debug程序中不會被刪掉。只是建議你還是要在關鍵位置加上注釋,方便以後讀寫和理解嘛。

❽ 「程序中的注釋部分可有可無,通常可以省略」判斷和原因

錯。現在編程絕對不是一個人的事,要想其他程序員能看懂你的代碼,就必須要求有注釋,否則一個程序中大量的變數和函數將不知道代表是什麼含義。所以不能省略。

❾ 程序員為什麼不寫注釋

真正的程序員從來不寫注釋,難寫的程序必定也難讀。
真正的程序員不寫應用程序,他們直接從最底層的裸機開始編程。
真正的程序員他們認為應用程序編程是那些不會系統編程的人乾的活。
真正的程序員不畫流程圖,流程圖是沒文化的人的文檔,居住在山洞裡的人才在岩壁上畫流程圖。
真正的程序員不讀手冊,依賴手冊是無知和懦弱的表現。
真正的程序員從不一次做對,他們可以連續30個小時坐在機器前面給程序打補丁。
真正的程序員從不按早9晚5的生活過日子,如果你在早上9點看見一個程序員,那一定是他一夜未眠。
真正的程序員比用戶還清楚用戶需要什麼。
真正的程序員喜歡兼賣爆米花,他們利用中央處理器散發出的熱量做爆米花,可以根據米花爆裂的速度聽出正在運行什麼程序。

閱讀全文

與程序員內功要注釋嗎相關的資料

熱點內容
android系統名字 瀏覽:963
安卓手機如何進去有求必應屋 瀏覽:432
指數除法運演算法則底數不同 瀏覽:894
90壓縮干糧09壓縮干糧 瀏覽:516
android線程池框架 瀏覽:481
手機自帶解壓能解壓哪些文件 瀏覽:804
linux安裝hba驅動 瀏覽:119
java構造函數new 瀏覽:668
怎麼查家裡電器耗電量app 瀏覽:506
原神一直顯示重新連接伺服器怎麼辦 瀏覽:826
一般用途軸流式壓縮機 瀏覽:926
沒學歷的怎麼學編程 瀏覽:901
華為的隱藏相冊無法加密 瀏覽:782
聯通套餐app怎麼設置 瀏覽:752
關於刪除鏈表的演算法描述 瀏覽:894
標准盤和壓縮盤的區別 瀏覽:47
銀行存款驗證碼JAVA編程 瀏覽:111
word轉pdf軟體免費版 瀏覽:139
公主連結安卓台服怎麼下載 瀏覽:550
注冊江蘇銀行app怎麼注冊 瀏覽:800