一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于一名程序員的自我修養(yǎng)

工程師人生 ? 來源:工程師吳畏 ? 2018-12-24 14:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在《喜劇之王》中,周星馳扮演的尹天仇,一直夢想成為一名演員,而他不管是在扮演跑龍?zhí)?,或者在街坊中開設演員訓練班,亦或成為主角時,他對待演員的態(tài)度,始終是認真,熱愛而又投入的。而那一本他隨身攜帶的書--《演員的自我修養(yǎng)》,盡管不知道里面具體寫的是什么,但我猜,他對待演員的態(tài)度和行為,就是書中內容顯示的。

于是,不禁問了問自己,作為一名程序員,一個“程序員的自我修養(yǎng)”是什么?

盡管我們不一定要像尹天仇那么的認真對待自己的事業(yè),但,一些基本的修養(yǎng),作為一名新時代的碼農(nóng),總應該是要具備的吧。不過真要說修養(yǎng),方面還是挺多的,技術自我提示自不必說。但我并不打算從這個大家都覺得理所當然的技術方面入手,而是談談,可讀性代碼,這個容易被大家忽視的基本素養(yǎng)。

1、遵從所在團隊的代碼規(guī)范。

一個高效、成熟的團隊,必定有一個屬于自己的代碼規(guī)范,這個規(guī)范是團隊的寶貴的財富,它是整個團隊從各種坑中爬起來后積累的經(jīng)驗教訓。什么是規(guī)范,它是人們從無數(shù)經(jīng)驗中總結出來的規(guī)則,標準。而代碼規(guī)范,指導團隊成員如何以最短的時間寫成最高效,可讀性強的代碼。試想,如果成員不遵從規(guī)范,你用駝峰命名,他用下劃線,這對程序的可讀,將造成多大的影響。我想,應該沒有一個人愿意去閱讀一段,各種變量命名形式都能見得到,private, public 方法隨意排序,甚至常量類都散落在各個角落的代碼吧。

代碼,一個作用是讓機器閱讀,另一個重要的作用是讓人閱讀!??!

2、遵從行業(yè)內通用的規(guī)范

在團隊的代碼規(guī)范未涉及到的,那請按照行業(yè)內的規(guī)范來編寫代碼。規(guī)范的一個好處是,可以明顯減少學習和交流成本。在java中,當我們看到全大寫的變量名時,我們就知道這是常量,而不需要去看注釋,不需要去看代碼邏輯。為什么這么迅速,因為行業(yè)里大家都習慣把常量用大寫命名。但假如你用其他命名方式命名常量,比如team_nums命名常量,不僅不能讓人迅速知道這是個常量,而且可能讓人誤會這是個變量,增加了團隊成員學習和溝通成本,甚至可能誤導他們。就見過一位仁兄,明明用的是工廠模式,偏偏按模版模式的命名方式來命名,問他,他說他知道這是工廠模式,但他覺得,更應該叫模版模式。。。我的天,,你這么任性,以后還能做朋友么?

舉個例子,我們需要根據(jù)支付類型,來生產(chǎn)多個支付產(chǎn)品,于是,我們寫了個工廠類,命名為FactoryPay。當其他人看到一個類叫FactoryPay,他們會猜測,這應該是個工廠類,負責生產(chǎn)各種支付產(chǎn)品的工廠,然后按照這個猜測去閱讀代碼,就能比較快速的理解整個類的作用。但是,假如我取名PowerPay,別人還不知道是啥,看了半天,才明白,這是個工廠的作用。這就明顯增加了他人的學習成本和維護代碼的成本。

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

3、變量、方法命名要能表達變量作用

在程序員這個圈子很久了,就發(fā)現(xiàn),程序員這貨,都喜歡這套,“這個接口干嘛用的,有文檔么”,“自己看代碼去”。很多時候都是一臉黑。

盡管程序員閱讀別人代碼技術都是一流,不管你是有沒有注釋,不管你是怎么循環(huán)嵌套,也不管你是怎么命名,他們都能耐心的,把代碼分析個所以然來。但,對于程序員這個視時間寶貴如生命,分分鐘都能創(chuàng)造幾百萬價值的群體來說,您行行好,給我們省點時間吧,把變量是干啥用的,說清楚唄,沒準節(jié)省的這幾分鐘,多賺個幾萬,還能請大家出去嗨呢。

每每看到部門的某大神,用一個神一般的變量名“flag”,我就有吐血的沖動,他還這個flag一直雪藏,不用,只是傳遞到第n個方法才使用,頓時心力交瘁,我的天,這個flag都是是干嘛用的啊,后來才明白,是isPay的意思,用來標識用戶是否支付成功了。當時一口老血吐屏幕上,心里狂吐槽,老兄,你命名個isPay會死么,我的腦細胞這么不值錢么。到后來看到,去魔法數(shù)字,用int NUM_7 = 7,而不是MAX_MEMBERS來表示最大成員、用x y z來命名變量名,各種只有作者,或者作者后來都忘了的獨特命名方式,都見怪不怪了。更有甚者,一個變量命名為passed,作用居然是“未通過”的意思,當時就石化了,作者還真是用心良苦,這都要考我細心不細心。

一個好的變量名,能幫助閱讀者了解變量的作用,也輔助了對整段代碼的理解。

4、不要show英語,鄉(xiāng)下的孩子傷不起唉

LZ所在的團隊,英語一直都是團隊的硬傷,但總是能看到,某位仁兄,加上大把大把的英文注釋,有些變量名也取些高大上的復雜的英語單詞。敢問,你這么高的逼格,以后我們怎么和你玩啊。(那位仁兄其實就是LZ,年輕時唉,罪過罪過)

代碼是用來溝通的,傳遞作者意圖的,都看不懂,怎么溝通交流。建議英語好的童鞋,英語能力可以放到閱讀英文書籍中展示,在代碼中,如果團隊英語能力很弱,避免使用英文,變量命名也盡量按照團隊英語水平來命名

5、添加必要的注釋

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

6、注釋保持簡潔,避免沒有必要的注釋

即看過一行注釋都沒有的代碼,也看過注釋比代碼還要多的程序。一個是讓人生不如死,一個是讓人痛不欲生。(唉,有時不僅感嘆,在程序員界混,真的是難)。

LZ就經(jīng)常看過,一大段注釋,啰嗦了半天,要不就是沒表達清楚重點,要不就是只為說明它是個循環(huán)的作用?。。∑┤鏸++這樣的代碼,有必要加個“每個計數(shù)增加1”這樣的注釋么,這完全是把讀者定位為非程序員啊,或者就是嚴重鄙視讀者的編程水平。

注釋是幫助閱讀的人更好的理解程序的邏輯,只是輔助,如果不重視通過命名等方式來傳遞代碼的作用,而是依賴于注釋,這就是本末倒置了。而且,冗長啰嗦的注釋,這到底是幫助人理解,還是阻礙人理解啊,是讀程序還是讀小說啊。

7、擁有自己的編碼規(guī)范

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

8、代碼清晰簡潔的表達出作者的意思

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

9、堅持并捍衛(wèi)上面的準則

經(jīng)常能聽到,有些公司是代碼行數(shù)來定義績效的,但作為一個有操守,并秉承基本自我修養(yǎng)的程序員,我們絕不能為了各種誘惑或者脅迫,甚至是自己的惰性、個性,而放棄寫出簡潔清晰,可讀的代碼。

以上的幾點,并不是嚴格的意見或者建議,只是提醒廣大程序員同胞們,在癡心與高端的技術時,千萬不要忘了,代碼不僅機器要閱讀,人也需要閱讀。就算你寫出再復雜的代碼,但它讓人完全無法閱讀,這有什么用呢。這就如同,你很牛逼很牛逼,但別人聽不懂你說的話,還不是沒用。如果你真的寫出了可讀性強的代碼,但你也不應該鳴鳴得意,我覺得,寫出一段優(yōu)美,健壯,可讀性高的代碼,是一個程序員最基本的自我修養(yǎng)。如果這個追求都沒有,那和咸魚有啥區(qū)別呢。雖然常被外人看來邋里邋遢,不善交流,但我們的的代碼優(yōu)美,每段代碼都清晰簡潔的表達了心中的想法,這不也很好么。代碼作為程序員間交流溝通的媒介,一定要保持它的高效溝通的屬性,切不要為了自己的個性,而犧牲它的可讀性。在此,建議大家業(yè)余時間閱讀些比如《clean code》、《how to be a better programmer》等相關書籍

每篇技術博客,應該像代碼一樣,條理清晰,易于閱讀,同時又應該簡潔,觀點鮮明,這才是一篇合格的技術博客。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 程序員
    +關注

    關注

    4

    文章

    954

    瀏覽量

    30407
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    潤和軟件穩(wěn)居數(shù)字業(yè)務類解決方案市場第一名

    ”)憑借自身卓越的技術實力和創(chuàng)新能力,連續(xù)五年穩(wěn)居數(shù)字業(yè)務類解決方案市場第一名;在細分領域:數(shù)字信貸系統(tǒng)解決方案子市場持續(xù)保持第一名,數(shù)字銀行解決方案子市場躍升至第一名。同時,其在開放銀行、交易銀行、智能營銷、智能風控、數(shù)據(jù)智能
    的頭像 發(fā)表于 07-14 17:36 ?384次閱讀

    如何成為一名合格的KaihongOS北向應用開發(fā)工程師

    如何成為一名合格的北向應用開發(fā)工程師 在快速發(fā)展的軟件開發(fā)領域,北向應用開發(fā)工程師是個專注于系統(tǒng)級應用開發(fā)的高需求職位。 以下是成為一名合格的KaihongOS北向應用開發(fā)工程師的建議。 1.
    發(fā)表于 04-23 06:46

    如何成為一名合格的北向應用開發(fā)工程師

    在快速發(fā)展的軟件開發(fā)領域,北向應用開發(fā)工程師是個專注于系統(tǒng)級應用開發(fā)的高需求職位。 以下是成為一名合格的KaihongOS北向應用開發(fā)工程師的建議。 1. 基礎知識 編程語言 :學習至少種編程
    發(fā)表于 01-10 10:00

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級。現(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?711次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    蔚來獲得CACSI車型滿意度和售后服務滿意度第一名

    近日,由中國質量協(xié)會發(fā)布的2024年中國新能源汽車用戶滿意度測評結果(CACSI)出爐。蔚來ET5T榮獲純電動中型轎車滿意度第一名,蔚來品牌榮獲售后服務滿意度第一名。蔚來已連續(xù)兩年獲得CACSI車型滿意度和售后服務滿意度第一名。
    的頭像 發(fā)表于 12-06 17:19 ?2008次閱讀

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質生產(chǎn)力技術生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設計的CODE AI程序員本,成為本次大會的
    的頭像 發(fā)表于 11-30 10:34 ?1102次閱讀

    Linux驅動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?528次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應用新生態(tài)”為主題。設置有岳麓對話、技術英雄會、主題峰會及賽事、展覽等活動,
    的頭像 發(fā)表于 10-25 15:42 ?494次閱讀

    90后程序員的職業(yè)成長漫談

    作者:京東零售 盧楠 前言: 我在京東工作已經(jīng)來到第8個年頭,從2016年的實習生到如今負責部門整體架構,這段職業(yè)旅程中充滿了感悟。 簡單回顧我的個人成長里程碑:2017年正式加入京東后,從一名新人
    的頭像 發(fā)表于 10-15 15:24 ?547次閱讀
    90后<b class='flag-5'>程序員</b>的職業(yè)成長漫談

    潤和軟件連續(xù)四年蟬聯(lián)數(shù)字業(yè)務類解決方案市場第一名

    ,連續(xù)四年蟬聯(lián)數(shù)字業(yè)務類解決方案市場第一名。在細分領域:數(shù)字信貸系統(tǒng)解決方案子市場持續(xù)保持第一名,數(shù)字銀行解決方案子市場穩(wěn)居第二,開放銀行解決方案子市場上升至第三。 ? 數(shù)字業(yè)務類
    的頭像 發(fā)表于 07-31 10:10 ?1088次閱讀

    京東上萬程序員都AI用它!

    對大模型生成代碼進行智能修復,為程序員開啟代碼漏洞修復的“自動駕駛”模式,不但減少人工接入、提高工作效率,更為企業(yè)抵御內外部各種攻擊構建起道堅固的安全屏障,確保業(yè)務的連續(xù)性和穩(wěn)定性。 JoyCoder是京東云自主研發(fā)的款輔助
    的頭像 發(fā)表于 07-17 16:29 ?491次閱讀
    京東上萬<b class='flag-5'>程序員</b>都AI用它!