哈,如何命名居然是程序員最難攻克的關卡?

對於軟件開發人員來講,最大的難題是:如何命名(例如:給變量,類,函數和過程命名等等)。html

該結果是來自 Quora 問答網站和更早的 Ubuntu 論壇跟帖的 4500 個開發者的投票。如何命名一項的選票幾乎是其餘八項的投票結果的總和。linux

的確,這些基於自我篩選的羣體的投票結果是徹底不科學的。可是我認爲這個結果仍是有必定意義的,換句話說,如何命名的確是個很棘手的問題,許多非編程人員可能會意識不到。程序員

對於這個結果,我多少有點意外,由於做爲一個多年的開發人員,我不會投給這一項(我想我會投給「修改或維護別人的代碼」)。可是真正讓我驚訝的是,看起來好像不怎麼重要的命名竟然排列第一,跟期待的結果實在差太遠了。編程

關於程序員在編程中對於命名的的痛苦和糾結以下觀點:函數

  • 「我確實在編程的時候花了不少時間在考慮如何命名。」
  • 「我不得不一樣意命名是一門藝術。」
  • 「若是你想要提升代碼的可讀性,命名的確很重要。」

我認爲最後一條抓住了部分核心,解釋了命名爲何會這麼難,由於它過重要了。準確的命名能夠提升代碼的可讀性,讓人容易理解,方便調試,也給之後修改和維護你的代碼的人帶來方便。一旦開始作了,很快你會發現要想出一個簡潔又準確的名字沒那麼容易。學習

Jeff Atwood 曾說:「想出好的命名的確很難,可是有難的道理,由於好的命名須要只用一兩個單詞出表達你的根本意思。」網站

並且,許多人認爲,正確的命名能幫你寫出好的代碼。若是不能爲一個變量或者函數想出一個清晰又簡潔的名字,那多是你的代碼有問題。那樣的話,你就得考慮重寫或者進行代碼重構了。設計

「一般,若是你沒法想出一個合適的名字,意味着你的設計可能有問題。你的一個方法裏是否是實現了太多的功能?或者你的類的封裝,凝聚性不夠強?」調試

「個人經驗是若是沒法給你的類想出一個合適的名字,大多數狀況都是你的類有問題:你可能不須要這個類,它有點多餘了」htm

「命名難也不見得是壞事兒,它能夠迫使你去認真思考你的類到底想要實現什麼功能。」

哈,如何命名居然是程序員最難攻克的關卡?哈,如何命名居然是程序員最難攻克的關卡?

長話短說:若是你想要學習編程,必定要給本身準備一本好詞典。

對於開發人員來講什麼是最難的?你又有什麼好的觀點呢?

原文來自:https://www.linuxprobe.com/how-name-question.html

相關文章
相關標籤/搜索