chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

程序員的15個(gè)編程障礙

工程師人生 ? 來源:簡書網(wǎng) ? 作者:忻峰作浪 ? 2020-01-12 11:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

沒有人滿意開發(fā)人員這種已經(jīng)“竭盡全力”改變世界的速度,每個(gè)人都希望代碼像消防水管里的水一樣能夠源源不斷地流出來,但沒有人愿意提供給開發(fā)人員更好地完成工作的條件。正如那個(gè)想要我們昨天就完成工作的老板,他不愿意雇傭更多的人,不愿意購買速度更快的機(jī)器,也不愿意做任何其他可以讓程序員專注于編程的事情,又想馬兒跑,又不給馬兒吃草。

下面就是現(xiàn)實(shí)世界中的15個(gè)編程障礙。

編程效率障礙No.1:會議

最常見的抱怨是打斷開發(fā)人員編碼思緒的會議。如果老板信任該程序員,就會要求他們時(shí)不時(shí)地去那間數(shù)周甚至數(shù)年昏昏暗暗的會議室閑聊有關(guān)細(xì)節(jié)。盡管程序員通常歸咎于是管理人員毀了會議,但他們偶爾也會指責(zé)其他的程序員老是跑過來詢問有關(guān)或bug或功能或架構(gòu)策略的問題。

雖然有些抱怨是愚蠢的——但程序員依然會埋怨,如果老板讓他們自己在黑暗中摸索,沒有一點(diǎn)溝通——任他們自己在軟件的抽象世界里埋頭苦干,自己去面對各種困境??觳蛷N師和咖啡調(diào)配師或許還能夠兼顧不同的需求,但如果是切換大腦到正確的模式來操作抽象算法則通常需要時(shí)間。從會議模式中切換回編碼模式,可能會浪費(fèi)一個(gè)小時(shí)左右的工作時(shí)間。

編程效率障礙No.2:答復(fù)所有的電子郵件

如果說會議很糟糕,那么這一種可能更糟糕:需要查看發(fā)來的無窮無盡的郵件?;貜?fù)郵件需要時(shí)間,而且沒人會對回復(fù)結(jié)果表示滿意。然后那些最不耐煩的開發(fā)人員或許會選擇簡單的回復(fù)——“tl;dr”(即too long,didn’t read。篇幅過長,沒有閱讀)。

有的團(tuán)隊(duì)試圖開設(shè)每周一天的禁郵日。還有的團(tuán)隊(duì)就完全不用郵件。雖然解決了郵件過載的問題,但卻是以溝通為代價(jià)的。要是突然不在一起工作。這還能算是好辦法嗎?

編程效率障礙No.3:試圖衡量生產(chǎn)力

總會有管理團(tuán)隊(duì)受那些所謂“你不能管理你無法衡量的東西”的書籍啟發(fā),于是開始衡量提交的或代碼庫或軟件代碼行或bug修復(fù)。他們認(rèn)為,計(jì)數(shù)就是衡量,而且衡量一定是好事。

但是程序員并不是砌磚工,不能數(shù)數(shù)砌了多少磚就知道其效率。相反,為了寫出更好的代碼,程序員需要或?qū)W⒂诰帉懙拇a行,或解決bug,或提交到代碼倉庫,或做一些無法計(jì)數(shù)的事情。如果bug修復(fù)可以加分,那么一些微小bug的報(bào)告就會激增,bug修復(fù)也會如此。有人因?yàn)閳?bào)告bug得到了獎(jiǎng)勵(lì),然后另一個(gè)人因?yàn)樾迯?fù)它也能得到獎(jiǎng)勵(lì)?;蛘?,如果是計(jì)數(shù)代碼行數(shù),那么那些可以用10行代碼解決問題的程序員,可能就會轉(zhuǎn)而表示5000行的代碼將更靈活或功能更兼容——任何可以添加到5000行中的都加進(jìn)去。

衡量效率實(shí)際上會因?yàn)楣膭?lì)功能豐富,代碼過度設(shè)計(jì)的長文件,而讓代碼庫變得更糟。

對于此問題還沒有真正的解決方法。我們需要跟蹤bug。我們需要組織工作流程,協(xié)調(diào)軟件的創(chuàng)建。這種優(yōu)雅是無法衡量的。

編程效率障礙No.4:妄自尊大的開發(fā)人員

對于程序員而言,有這樣一個(gè)同事比Boss更難以忍受:創(chuàng)建了代碼的最后一次迭代,卻不再工作于這個(gè)項(xiàng)目。正如每個(gè)房屋裝修承包商會貶低上一個(gè)木匠的技能,每個(gè)程序員也會快速指出可怕的,不可原諒的,完全是死腦筋的上一代的行為。

當(dāng)然,這可能是事實(shí),但它很少像程序員說得那么糟糕。如果有什么區(qū)別的話,問題通常也不是由于技能匱乏而引起的。主要還是風(fēng)格的不同,并且風(fēng)格還會隨著時(shí)間而改變。上一代和我們今天訪問的庫不同。他們也不曾閱讀過有關(guān)最佳做法的最新著作。

妄自尊大的編程態(tài)度往往會減緩項(xiàng)目。驕傲和利己主義的混合發(fā)酵會導(dǎo)致程序員拋棄完全能夠勝任的代碼,只為了按照他們認(rèn)為的“正確方式”重建。

編程效率障礙No.5:“以后修復(fù)”的思維定式,又名“技術(shù)債”

我們總感覺不夠時(shí)間在項(xiàng)目中按計(jì)劃構(gòu)建我們想要構(gòu)建的東西。于是,我們偷工減料,給代碼打補(bǔ)丁,纏滿了虛擬膠帶。曾有明智的經(jīng)理將此稱為是“技術(shù)債”,因?yàn)椤皞笔且院蟊仨氁€的。即使他們不理解代碼,也知道“債”的含義。

每個(gè)項(xiàng)目都有一定的技術(shù)債務(wù)。有時(shí)它會快速見效,但通常直到下一代才會發(fā)現(xiàn)這已經(jīng)成為了一個(gè)坑。他們需要構(gòu)建上一代沒有做到的東西。就像滾雪球一樣,越滾越大。

編程效率障礙No.6:非程序員經(jīng)理

總會有那些面帶微笑,西裝筆挺,卻不是主修計(jì)算機(jī)科學(xué),也不懂編程項(xiàng)目的家伙成為了經(jīng)理。也許他們?nèi)⒘死习宓呐畠?;也許他們正好在“正確”的時(shí)間出現(xiàn)在了“正確”的地方。但是,老板讓他們擔(dān)任了經(jīng)理,即使他們一竅不通。更糟的是,他們會用外行人的眼光來看待問題,哪怕不倫不類,文不對題。

有一些程序員表示很歡迎這樣的經(jīng)理,因?yàn)橛夼麄兒苋菀?。而且他們還承擔(dān)了來自于更高管理層的炮火。但也有人承認(rèn),這些人只會不斷地開會,只會妨礙編程。他們幾乎給不了任何有用的指導(dǎo),他們可以提供的只是那么一點(diǎn)質(zhì)量檢測。

編程效率障礙No.7:程序員經(jīng)理

雖然程序員可能會因?yàn)椴坏貌慌c非程序員經(jīng)理打交道而抱怨,但他們經(jīng)常悄悄地表示,編程人員去做管理人員更糟糕——有時(shí)甚至更糟糕得多。

他們是前任的天才,可能會決定微觀管理項(xiàng)目,然后果決地撕裂大片的代碼,因?yàn)樗麄冇辛艘粋€(gè)新的展望?;蛘撸苍S他們會閑談,對于同樣的事情,他們是如何用8080匯編或C或Java編程寫了一半的代碼。在任何情況下,他們更癡迷于技術(shù)細(xì)節(jié)而不是大局,雖然他們被雇來的目的是盯牢后者。

編程效率障礙No.8:善于社交的程序員,又名“brogrammer”

雖然程序員可以將每個(gè)問題和任何中斷的責(zé)任歸咎于巧言令色的銷售團(tuán)隊(duì),但編程人員也必須承認(rèn),有一些問題在于他們自己。程序員被聘請的目的在于他們的計(jì)算機(jī)技術(shù),而不是他們的人際交往能力。

程序員通常不善于溝通,不知道如何表達(dá)他們的感受和思維。他們可以準(zhǔn)確抓住技術(shù)參數(shù),就像庖丁解牛一樣迎刃有余。無論客戶想要改變什么都不要緊:程序員總是時(shí)刻思索著技術(shù)參數(shù),即使是在公司野餐上也不外如是。

盡管程序員通??梢赃^濾掉對方的特質(zhì),但當(dāng)程序員之間發(fā)生磕磕絆絆時(shí)也會讓團(tuán)隊(duì)失敗。當(dāng)同一個(gè)團(tuán)隊(duì)中兩個(gè)人有著不同的政治觀點(diǎn),比方說,動(dòng)態(tài)語言或NoSQL,那么團(tuán)隊(duì)就會永無寧日。一切都像是在戰(zhàn)場一樣,戰(zhàn)火紛飛,硝煙彌漫。

編程效率障礙No.9:自私或牛仔程序員

你從他的代碼里發(fā)現(xiàn)一個(gè)空指針?捕捉空指針于是成為了你的工作。你最好多想一遍要不要傳遞一個(gè)零,因?yàn)樽运降某绦騿T不會檢查除以零錯(cuò)誤。這也成為了你的工作。

牛仔程序員的工作又酷又快,但這是因?yàn)樗拇a中遺留了許多漏洞,并且沒有經(jīng)過測試。于是這也成為了你的工作,因?yàn)槿绻悴惶幚磉@些瑣事的話,代碼就會崩潰。

很多團(tuán)隊(duì)在最終認(rèn)識到這一點(diǎn)的時(shí)候已經(jīng)為時(shí)已晚。代碼塊在早期測試中運(yùn)行良好,但當(dāng)輸入真正的數(shù)據(jù)之后,各種問題就開始暴露出來。真是一場災(zāi)難。

編程效率障礙No.10:可憐的文檔

寫文檔需要時(shí)間。但由于老板雇我們來是來寫代碼的,并且通常通過我們寫的代碼行數(shù)來衡量我們的效率。因此既然你想要結(jié)果,那么我們就只做你想要的那部分。當(dāng)然最終我們還是會寫文檔的,但質(zhì)量的好壞就不論了。

有時(shí)候,文檔雖然很多,但卻是幾個(gè)月或幾年前老代碼的版本。我們只是還沒來得及修改這些舊文檔而已,但是,以后我們會同步的——相信我。

編程效率障礙No.11:成為文檔的奴隸

雖然我們都經(jīng)歷過沒有文檔的項(xiàng)目,但是空話太多、編碼太少反而導(dǎo)致項(xiàng)目失敗也很常見。曾有幾個(gè)人指著滿滿一書架的文件夾,向我炫耀說:“我專門請人來寫文檔?!比欢x完這么多文檔需要一年的時(shí)間。

程序員通常在處理需求時(shí),會寫一些評論和注釋,之后充作文檔。因此這樣的文檔,都是一些微小的細(xì)節(jié),沒有經(jīng)過認(rèn)真地總結(jié)或沒有說到要點(diǎn)上。這在文檔中將可能是致命的,當(dāng)他們沒有提供太多的抽象和理解,就只寫代碼流水賬的時(shí)候。這樣的文檔并不具啟發(fā)性,只是翻譯下代碼而已。

編程效率障礙No.12:很容易導(dǎo)致分心的環(huán)境

有一個(gè)客戶堅(jiān)持要我每天去他們的辦公室,堅(jiān)持要我使用他們的電腦。然后,他們沒有提供任何的辦公空間,所以我只能和六個(gè)實(shí)習(xí)生在會議室寫代碼,此外,這些實(shí)習(xí)生還需要我用半天的時(shí)間回答他們前一天晚上碰到的問題。另外半天的時(shí)間則用來指示今天晚上做什么。于是,我基本上做不來自己的工作。

雖然銷售和營銷團(tuán)隊(duì)可以在背景噪音的環(huán)境下茁壯成長,但程序員通常需要圖書館般安靜的背景。閑聊,令人心煩意亂的敲擊聲,或鈴聲將驅(qū)逐程序員的思維走出抽象的工作區(qū),回到現(xiàn)實(shí)中。然后,需要幾分鐘的時(shí)間才能重新沉浸于工作區(qū)。

有一位開發(fā)人員告訴我,他恨他的新辦公桌,因?yàn)樗繑n空調(diào)出風(fēng)口,噪音令人難以置信的響,使得他真的很難集中注意力。這可能略有夸張,但的確是一個(gè)事實(shí)。

雖然許多企業(yè)會提供程序員類似乒乓球桌的娛樂活動(dòng),但他們往往忘記了開發(fā)人員需要在安靜的氛圍中集中精神。甚至,他們還將程序員轉(zhuǎn)移到大房間,認(rèn)為這可以促進(jìn)合作,殊不知卻會導(dǎo)致一有風(fēng)吹草動(dòng),整個(gè)房間的程序員都受到干擾。

編程效率障礙No.13:“文化契合”

你想擁有自己的辦公室?或者你更喜歡團(tuán)隊(duì)化的辦公室,這樣你就可以直接喊出你的問題?你喜歡在清晨開始工作,亦或是你更喜歡熬夜?

如果團(tuán)隊(duì)成員之間的風(fēng)格相似。那么這支團(tuán)隊(duì)往往才能更好地工作。無法找到共同點(diǎn)的團(tuán)隊(duì)很快就會失敗。沒有溝通,最后只會南轅北轍,不知所謂。

編程效率障礙No.14:死守傳統(tǒng)技術(shù)

很多捍衛(wèi)者認(rèn)為古老的技術(shù)依然很偉大,依然能夠完成任務(wù)。因此對于為什么要重寫代碼表示疑慮重重。

他們想得沒錯(cuò),但他們忘記了保持這些古老代碼的成本。所有一切通常都需要用自定義代碼進(jìn)行翻譯。某些代碼甚至寫在ASCII之前,這意味著需要轉(zhuǎn)換輸入和輸出。舊系統(tǒng)經(jīng)常會計(jì)數(shù)空格字符只是為了在數(shù)據(jù)庫中指出這是什么。這就更加需要轉(zhuǎn)換了。

當(dāng)然程序員可以通過屏幕抓取,重新格式化,臨時(shí)構(gòu)建系統(tǒng)來做大量的工作,但一段時(shí)間以后,他們往往需要花費(fèi)更多的工作來清理混沌的邏輯,以致于騰不出時(shí)間來寫新的邏輯。

編程效率障礙No.15:對最新的渴望

最新的工具自然有意思,但卻在沒有經(jīng)過大量時(shí)間再次編碼以往的工作之前,是不會被開發(fā)工作室采用的。走在時(shí)代尖端的人總是會扔掉API的整個(gè)部分,并重新編寫,從而迫使我們這些下游的程序員不得不跟著一起改寫代碼。我厭煩過,當(dāng)我不得盡力用Python 2.7的代碼對付Python 3.0的代碼時(shí),因?yàn)橐垃F(xiàn)在的情況,Python已經(jīng)是一種相對穩(wěn)定的代碼庫。

在許多情況下,新的工具并沒有戰(zhàn)斗化。例如,Node.js,雖然說相當(dāng)快,但是只有當(dāng)你重新學(xué)習(xí)所有關(guān)于死鎖的經(jīng)驗(yàn)教訓(xùn)之后,知道線程優(yōu)先的時(shí)候才能發(fā)揮作用。世上沒有免費(fèi)的午餐,工具雖好但都是有代價(jià)的。

責(zé)任編輯:wv

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

    關(guān)注

    4

    文章

    955

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Claude Code在國內(nèi)怎么使用?AI編程人員必看的完整指南!

    這兩年,AI編程工具層出不窮,但最近 Claude AI 在程序開發(fā)者圈子里備受歡迎,越來越多程序員發(fā)現(xiàn)使用Claude的體驗(yàn)非常接近“一個(gè)懂工程的搭檔”,而不是簡單的代碼生成器。 但
    的頭像 發(fā)表于 01-23 14:09 ?82次閱讀
    Claude Code在國內(nèi)怎么使用?AI<b class='flag-5'>編程</b>人員必看的完整指南!

    如何成為編程高手

    的思維方式,遇到問題的時(shí)候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎(chǔ)上,除計(jì)算機(jī)以外,多涉獵其他的學(xué)科,比如天文、物理、數(shù)學(xué)等等。開闊的思維對程序員來說很重
    發(fā)表于 12-29 06:57

    芯盾時(shí)代SDP助力企業(yè)應(yīng)對核心機(jī)密泄露危機(jī)

    無論你是程序員、文案、財(cái)務(wù),無論你想擼代碼、出海報(bào)、做報(bào)表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?584次閱讀

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應(yīng)用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?575次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個(gè)功能沒問題,可以上線了。 29別擔(dān)心,這個(gè)問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    堆和棧的區(qū)別

    程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
    的頭像 發(fā)表于 11-27 18:13 ?1011次閱讀

    編程序段的定義介紹

    已經(jīng)由操作系統(tǒng)自動(dòng)設(shè)置為代碼段的段基址,數(shù)據(jù)段的段基址則需要程序員手動(dòng)裝入DS中; ASSUME偽指令用于指定每一個(gè)數(shù)據(jù)段所對應(yīng)的段基址寄存器。如上面的代碼中CODE段的段基址寄存器為CS,DATA段
    發(fā)表于 11-21 08:19

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動(dòng)圓滿收官

    1024程序員日”系列活動(dòng)至此劃上了一個(gè)圓滿句號。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?670次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動(dòng)圓滿收官

    開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會在長沙圓滿落幕。本次活動(dòng)以“湘聚長沙,共赴熱AI”為主題,通過技術(shù)分享與實(shí)戰(zhàn)競賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙+AI”領(lǐng)域
    的頭像 發(fā)表于 10-27 17:58 ?644次閱讀
    開鴻智谷“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    無法在調(diào)試中連接到PSOC4怎么解決?

    您好,我有一塊使用 PSOC4 CY8C4013SXI-410 制作的小板。非常簡單的設(shè)備,它只有三個(gè) GPIO 引腳并通過 5 引腳 SWD 進(jìn)行編程。我遇到的問題是程序員能夠看到該設(shè)備但無法對其進(jìn)行
    發(fā)表于 07-22 06:02

    跟老齊學(xué)Python:從入門到精通

    礎(chǔ)的學(xué)習(xí)者介紹一門時(shí)下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學(xué)習(xí)者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦!?。?! 如果內(nèi)容
    發(fā)表于 06-03 16:10

    程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點(diǎn)。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    計(jì)算機(jī)網(wǎng)絡(luò)排錯(cuò)思路總結(jié)

    明人不說暗話,這篇文章我們來聊一個(gè)非常有用,同時(shí)也是程序員必備的技能,那就是網(wǎng)絡(luò)排錯(cuò)思路大總結(jié)。
    的頭像 發(fā)表于 04-01 17:32 ?724次閱讀
    計(jì)算機(jī)網(wǎng)絡(luò)排錯(cuò)思路總結(jié)

    如何在 樹莓派 上編寫和運(yùn)行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗(yàn)豐富的程序員和想學(xué)習(xí)C語
    的頭像 發(fā)表于 03-25 09:28 ?1057次閱讀
    如何在 樹莓派 上編寫和運(yùn)行 C 語言<b class='flag-5'>程序</b>?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實(shí)際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?1741次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python<b class='flag-5'>程序</b>?