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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

讓程序員煩惱的十件事

工程師人生 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-11-14 16:55 ? 次閱讀

每個(gè)程序員都有自己煩惱的事。不論這事指的是范圍蠕變(scope creep),還是 指匈牙利變量命名 (Hungarian notation),還是有臭味的同事,我們都明白,這是我們有我們行業(yè)里的特定的煩惱。 下面要說(shuō)的就是十大讓程序員們煩惱的事情,這是我從最 近的在StackOverflow上的一個(gè)調(diào)查里整理出來(lái)的,并且摻雜了一些我個(gè)人的經(jīng)驗(yàn):

10. 注釋 — 只解釋了“how”卻沒(méi)有解釋“why”

入門級(jí)的編程課程通常會(huì)教育學(xué)生們寫代碼前先寫注釋、而且要盡量多注釋。 這種教育的出發(fā)點(diǎn)是“多注釋肯定比少注釋好、少注釋肯定比沒(méi)注釋好”。 可不幸的是,很多的程序員把這當(dāng)成了一種任務(wù),對(duì)每一行代碼都注釋一下。

這就好多了!也許我們還是不能完全明白這段代碼的作用,但至少是有了一點(diǎn)方向了。

注釋是用來(lái)幫助讀者理解代碼的,不是用來(lái)解釋語(yǔ)法的。 我可以大膽的認(rèn)為,讀者對(duì)for循環(huán)的工作原理是了解的;所以沒(méi)必要寫這樣的注釋:“// 對(duì)客戶列表進(jìn)行for循環(huán)操作”。 讀者不明白的是你的代碼是做什么用的,你為什么要采用這種方式實(shí)現(xiàn)它。

9. 干擾

很少有程序員能在眨眼之間從一種活動(dòng)中轉(zhuǎn)換到編程的狀態(tài)中。通常情況下,我們更類似于需要慢慢啟動(dòng)的火車,而不是能突然加速的 法拉利; 我們需要一定的時(shí)間才能進(jìn)入工作狀態(tài),一旦我們進(jìn)入穩(wěn)定有效的工作狀態(tài),我們的工作效果和產(chǎn)出會(huì)很豐碩。 不幸的是,當(dāng)思路不斷的被客戶、經(jīng)理、以及你的同事打斷時(shí),你的大腦很難進(jìn)入編程的狀態(tài)。

當(dāng)我們干一件事情時(shí),有太多的瑣事需要我們放在心里,我們需要先放下這個(gè)事情,處理那個(gè)人事情,回頭又干這個(gè)事情,還不能有差錯(cuò)。這些干擾會(huì)中 斷我們的思路,而重新整理清楚思路又要你花費(fèi)大量的時(shí)間,這是讓人懊惱的、沒(méi)有比這更讓人泄氣、讓人有挫折感的過(guò)程了。

8. 范圍蠕變(Scope creep)

來(lái)自 Wikipedia 的解釋:

范圍蠕變(Scope creep) (也稱作焦點(diǎn)蠕變(focus creep), 需求蠕變(requirement creep), 功能蠕變(feature creep),以及其它一些亂七八糟的演變?cè)~語(yǔ)),指在項(xiàng)目管理里項(xiàng)目的需求變更失控。 當(dāng)一個(gè)項(xiàng)目的范圍沒(méi)有明確的定義清楚、沒(méi)有文檔化、不受控時(shí)就會(huì)出現(xiàn)這種現(xiàn)象。 這通常被認(rèn)為是一種有負(fù)面影響的事情,應(yīng)該盡力避免。

范圍蠕變通常會(huì)把一個(gè)簡(jiǎn)單的需求變成一個(gè)復(fù)雜驚人的需要大量時(shí)間的巨無(wú)霸。 那些負(fù)責(zé)需求調(diào)研的家伙們只需要敲幾下無(wú)辜的鍵盤就能把事情變成這樣:

版本 1: 顯示這個(gè)地區(qū)的地圖

版本 2: 顯示這個(gè)地區(qū)的地圖,要三維立體的

版本 3: 顯示這個(gè)地區(qū)的地圖,要三維立體的,而且能夠使用它作為飛行導(dǎo)航圖

暈倒!一個(gè)本來(lái)30分鐘能完成的任務(wù)變成了一項(xiàng)要幾百人/天才能完成的超級(jí)復(fù)雜的系統(tǒng)。更糟糕的是,大多數(shù)情況下,需求變更是發(fā)生在開發(fā)階段 的,這樣一來(lái)你需要重寫代碼,重新回歸,有時(shí)要把前幾天才開發(fā)的代碼刪除。

7. 管理者 — 完全不懂編程

管理工作不是一種簡(jiǎn)單的工作。人是一種讓人很討厭的動(dòng)物; 我們善變、喜怒無(wú)常,我們都自以為天下第一。 想讓這樣的一群人都感到滿意和團(tuán)結(jié),你需要付出像山一樣大的努力。 然而,這并不意味著管理者就可以在對(duì)下屬的工作毫不理解的情況下進(jìn)行管理。 當(dāng)管理者對(duì)我們的工作沒(méi)有一點(diǎn)知識(shí)概念時(shí),后果只會(huì)是需求頻繁變動(dòng),不現(xiàn)實(shí)的工期,普遍的挫折感(管理者和開發(fā)人員)。 程序員們對(duì)此的抱怨相當(dāng)普遍,這也是產(chǎn)生爭(zhēng)執(zhí)不合的根源(就像一個(gè)歡鬧的卡 通片)。

6. 寫文檔

在說(shuō)這個(gè)條目之前我先承認(rèn),我們確實(shí)有很多的文檔生成工具,但據(jù)我的經(jīng)驗(yàn),這些工具都是只適合生成API文檔,以供其他程序員參考。如果你開發(fā) 的軟件是平時(shí)人們每天都要用的,你必須要寫一些外行人(例如你的實(shí)施,客服等)都能理解的文檔手冊(cè)。

我們可以很容易的看出,有些事情程序員們極不愿意去做。 你可以簡(jiǎn)單的回顧一下所有的開源項(xiàng)目。 人們百折不撓的對(duì)這些項(xiàng)目的一個(gè)索求是什么:文檔。

我敢打保票的說(shuō),不管在哪里,至少會(huì)有一半的程序員當(dāng)要求寫文檔時(shí)會(huì)說(shuō):“不能讓其他人去寫嗎?“。

5. 程序 — 缺少文檔

我可從來(lái)沒(méi)說(shuō)過(guò)我們程序員是說(shuō)一套做一套的人。程序員們經(jīng)常會(huì)在他們的項(xiàng)目里用到第三方的類庫(kù)和應(yīng)用。 于是,我們需要文檔。 很不幸呀,就像我在第6條里說(shuō)的那樣,程序員們痛恨寫文檔。這戲劇性的事情發(fā)生在我們自己身上。

當(dāng)你需要使用一個(gè)第三方類庫(kù)時(shí)發(fā)現(xiàn),至少有一半的API無(wú)從知道是干什么好用的,沒(méi)有任何事情比這個(gè)更打擊人的了。 函數(shù) poorlyNamedFunctionA() 和函數(shù) poorlyButSimilarlyNamedFunctionB() 有什么區(qū)別? 在我使用 PropertyX 屬性前是否需要測(cè)試一下它是不是 null 值?我估計(jì)只有通過(guò)自己的測(cè)試和報(bào)錯(cuò)才能弄清楚!可惡。

4. 硬件

任何一個(gè)曾經(jīng)被叫去調(diào)試一個(gè)數(shù)據(jù)庫(kù)服務(wù)器上奇怪的宕機(jī)現(xiàn)象,或是被叫去解決RAID驅(qū)動(dòng)器不能正確的工作的問(wèn)題的程序員,當(dāng)發(fā)現(xiàn)是硬件問(wèn)題時(shí), 都會(huì)痛苦不已。 人們有一種普遍的誤解,認(rèn)為程序員就是搞電腦的,他們肯定知道如何修理電腦。 不可否認(rèn),有些程序員確實(shí)是個(gè)全才,但我估計(jì),絕大部分程序員都不知道,或者根本不關(guān)心當(dāng)程序被編譯成機(jī)器碼后如何工作的。我們只關(guān)心做出來(lái)的東西是否符 合需求文檔,這樣我們才能集中精力去解決這上層的任務(wù)。

3. 含糊不清

“網(wǎng)站宕機(jī)了”。 “XX功能工作不正?!薄?處理含糊不清的任務(wù)是種痛苦。 每次當(dāng)非程序員被要求重現(xiàn)他們所遇到的問(wèn)題時(shí)表現(xiàn)出的憤怒都讓我吃驚不已。 他們似乎不太明白,僅僅一句”它宕機(jī)了,修復(fù)它!”是無(wú)法讓我們開始工作的,我們需要更多的信息

軟件的運(yùn)行是(大部分情況下)有跡可尋的。我們也樂(lè)見(jiàn)與此。 請(qǐng)遷就我們,幫我們指出是在哪個(gè)階段,什么情況下出的問(wèn)題,而不是簡(jiǎn)單的說(shuō)一句”修復(fù)它“。

伯樂(lè)在線推薦閱讀:《“出錯(cuò)了”和報(bào)告Bug的藝術(shù)》、《如何有效地報(bào)告Bug》

2. 其他程序員

程序員經(jīng)常和其他程序員合不來(lái)。詫異嗎,但這是真的。 這方面的事情我可以輕松的列出十大條,講細(xì)點(diǎn)甚至可以單獨(dú)寫篇博客,所以這里我只列出幾個(gè)常見(jiàn)的、讓其他同事感到懊惱的程序員的特征:

脾氣暴躁以至態(tài)度極不友好。

不能明白什么時(shí)候該去討論系統(tǒng)的架構(gòu),什么時(shí)候是應(yīng)該去動(dòng)手去做。

無(wú)法進(jìn)行有效的溝通,使用易于誤解的專業(yè)術(shù)語(yǔ)。

自己的事情處理不好。

對(duì)要做的程序和項(xiàng)目缺乏興趣。

那么,這最后的,但不是最糟糕的,序號(hào)為1的讓程序員們煩惱的…

1. 自己寫的代碼 — 6個(gè)月以后的

回顧一下自己以前寫的代碼,是否也會(huì)愁眉苦臉?當(dāng)時(shí)怎么會(huì)這么愚蠢!怎么能編寫成這樣的東西! 燒掉!丟到火里!

哈,好消息。你并不孤單。

現(xiàn)實(shí)是,軟件技術(shù)界是一個(gè)不斷變化的世界。 今天被看成是最好的方式,明天也許就會(huì)過(guò)時(shí)。 我們不可能寫出完美的代碼,因?yàn)榕袛辔覀兊某绦蚝脡牡臉?biāo)準(zhǔn)日新月異。 這令人很不爽,你的作品,今天看來(lái)是那么的完美,但也許不久之后就會(huì)變成被人嘲笑的對(duì)象了。 真是讓人沮喪,因?yàn)椴徽撐覀內(nèi)绾闻Φ膶W(xué)習(xí)最新最棒的開發(fā)工具,設(shè)計(jì),框架,以及開發(fā)方法,我們總是比最新的技術(shù)發(fā)展趨勢(shì)慢了一拍。 對(duì)于我來(lái)說(shuō),這是做一個(gè)程序員最苦惱的事情了。我們不斷的升級(jí)技術(shù),是為了讓軟件更好,但卻禁不住感到,我就像一個(gè)做沙毯(sand-painting)的和尚。

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

    關(guān)注

    4

    文章

    946

    瀏覽量

    29732
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    十件關(guān)于PCB的趣事:帶你走進(jìn)電子世界的奧秘

    使命。然而,關(guān)于PCB,你可能只知道它的基本定義和應(yīng)用,其實(shí),在這個(gè)看似平凡的領(lǐng)域里,隱藏著許多有趣而鮮為人知的故事。接下來(lái),就讓我們一起探索關(guān)于PCB的十件有趣的
    的頭像 發(fā)表于 10-21 10:21 ?37次閱讀
    <b class='flag-5'>十件</b>關(guān)于PCB的趣事:帶你走進(jìn)電子世界的奧秘

    為什么做一件事或者學(xué)習(xí)FPGA每隔一段時(shí)間就會(huì)感覺(jué)遇到瓶頸呢?

    做一件事或者學(xué)習(xí)每隔一段時(shí)間就會(huì)感覺(jué)遇到瓶頸
    發(fā)表于 07-30 08:59

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是一場(chǎng)視覺(jué)的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每一位程序員及編程愛(ài)好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是一場(chǎng)視覺(jué)的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每一位程序員及編程愛(ài)好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    適者生存,程序員最終會(huì)流向哪……

    程序員沒(méi)有永遠(yuǎn)的護(hù)城河!!就目前的互聯(lián)網(wǎng)大環(huán)境來(lái)看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?331次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會(huì)流向哪……

    2024程序員的未來(lái)方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?727次閱讀
    2024<b class='flag-5'>程序員</b>的未來(lái)方向如何走?還看今朝

    程序員表白程序

    電子發(fā)燒友網(wǎng)站提供《程序員表白程序.rar》資料免費(fèi)下載
    發(fā)表于 11-21 10:41 ?0次下載
    <b class='flag-5'>程序員</b>表白<b class='flag-5'>程序</b>

    嵌入式程序員應(yīng)知道的幾個(gè)基本問(wèn)題

    電子發(fā)燒友網(wǎng)站提供《嵌入式程序員應(yīng)知道的幾個(gè)基本問(wèn)題.pdf》資料免費(fèi)下載
    發(fā)表于 11-20 11:21 ?0次下載
    嵌入式<b class='flag-5'>程序員</b>應(yīng)知道的幾個(gè)基本問(wèn)題

    智能低代碼洪流涌動(dòng)程序員節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應(yīng)!

    ? 從人工智能至量子計(jì)算,再到最新的云原生技術(shù),越來(lái)越多的榮耀被程序員斬獲。今年 1024 程序員節(jié),華為云 Astro 向全民致敬:「低代碼高產(chǎn)出?拓荒數(shù)字化版圖——人人皆是程序員」,為全球工程師
    的頭像 發(fā)表于 11-13 09:39 ?403次閱讀
    智能低代碼洪流涌動(dòng)<b class='flag-5'>程序員</b>節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應(yīng)!

    中軟國(guó)際鴻蒙生態(tài)實(shí)踐成果閃耀程序員節(jié),以智聯(lián)創(chuàng)新碼動(dòng)程序世界

    10月24-25日,由中國(guó)軟件行業(yè)協(xié)會(huì)、中軟國(guó)際有限公司聯(lián)合主辦的2023中國(guó)程序員節(jié)活動(dòng)在北京展覽館隆重舉辦。作為面向程序員群體的年度盛會(huì),本屆中國(guó)程序員節(jié)以“技術(shù)創(chuàng)新與開源合作”為主題,盛邀院士
    的頭像 發(fā)表于 10-27 09:30 ?440次閱讀
    中軟國(guó)際鴻蒙生態(tài)實(shí)踐成果閃耀<b class='flag-5'>程序員</b>節(jié),以智聯(lián)創(chuàng)新碼動(dòng)<b class='flag-5'>程序</b>世界

    一文速覽!拓維信息@1024程序員節(jié)精彩看點(diǎn)

    10月23日,第四屆“長(zhǎng)沙·中國(guó)1024程序員節(jié)”在湖南長(zhǎng)沙盛大開幕。自2020年首次啟動(dòng)以來(lái),1024程序員節(jié)已行至第四屆,以獨(dú)特的IT先鋒視角見(jiàn)證了新一代信息技術(shù)與經(jīng)濟(jì)社會(huì)發(fā)展深度融合的關(guān)鍵過(guò)程
    的頭像 發(fā)表于 10-25 08:15 ?532次閱讀
    一文速覽!拓維信息@1024<b class='flag-5'>程序員</b>節(jié)精彩看點(diǎn)

    喜迎1024程序員節(jié)!祝各位開發(fā)者們“碼”到“程”功!

    祝各位開發(fā)者們,節(jié)日快樂(lè)! 程序員(Programmer)是從事程序開發(fā)、維護(hù)的專業(yè)人員。 對(duì)于奮斗在一線的程序員們來(lái)說(shuō), 10月24日 是一個(gè)特殊的日子,這一天是屬于程序員們自己的節(jié)
    的頭像 發(fā)表于 10-24 20:00 ?681次閱讀
    喜迎1024<b class='flag-5'>程序員</b>節(jié)!祝各位開發(fā)者們“碼”到“程”功!

    今天程序員節(jié)長(zhǎng)沙出招 全國(guó)首個(gè)!長(zhǎng)沙為程序員打造“1024街”

    今天10月24日,今天程序員節(jié);先給程序員點(diǎn)贊,我們還看到有一些平臺(tái)舉辦了程序員節(jié);而在長(zhǎng)沙,更有為程序員打造“1024街”。 昨天第四屆“長(zhǎng)沙·中國(guó)1024
    的頭像 發(fā)表于 10-24 14:29 ?582次閱讀

    程序員節(jié) | 今年程序員們都想要的禮物竟然是……

    原文標(biāo)題:程序員節(jié) | 今年程序員們都想要的禮物竟然是…… 文章出處:【微信公眾號(hào):微軟科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
    的頭像 發(fā)表于 10-24 10:35 ?456次閱讀
    <b class='flag-5'>程序員</b>節(jié) | 今年<b class='flag-5'>程序員</b>們都想要的禮物竟然是……

    “程”力來(lái)襲 2023中國(guó)程序員節(jié)即將在京開幕

    隨著科技的不斷進(jìn)步和經(jīng)濟(jì)的全球化,編程已成為當(dāng)今社會(huì)的重要組成部分,在眾多行業(yè)領(lǐng)域發(fā)揮著重要作用,同時(shí)也促進(jìn)了社會(huì)產(chǎn)業(yè)升級(jí)和創(chuàng)新突破。程序員通過(guò)編程正在深刻影響和改變著千行百業(yè),程序員群體的成長(zhǎng)
    的頭像 發(fā)表于 10-24 10:30 ?414次閱讀
    “程”力來(lái)襲 2023中國(guó)<b class='flag-5'>程序員</b>節(jié)即將在京開幕