91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

程序員工作效率是由編程能力決定的嗎?答案是“未必”。

lviY_AI_shequ ? 來源:lq ? 2019-04-25 17:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

程序員是一個忙碌的職業(yè),與這個職業(yè)聯(lián)系在一起的詞兒,通常是忙碌、加班、熬夜、過勞、亞健康……當忙碌成為了主旋律,“高效”一詞就自然浮出了水面。

可是,程序員工作效率是由編程能力決定的嗎?答案是“未必”。

這些年,我一直在研究一件事兒:為什么那些大師級程序員,可以兼顧 N 倍于一般人的工作,還有條不紊?他們究竟用了什么工作法?根據(jù)我的觀察與總結(jié),他們往往繞不開下面四個工作原則。

以終為始

任務(wù)分解

溝通反饋

自動化一切

下面,就給大家先介紹前兩個工作原則。

以終為始DoD

DoD(Definition of Done,完成的定義),從名字便不難看出,它就是為了解決軟件開發(fā)中常見的“完成”問題而生的。DoD 本身并不復雜,它就是告訴我們怎樣算是完成了,盡量減少因為歧義造成的各種浪費。

既然 DoD 是一個彌補理解差異的做法,那么它就應該在人與人的協(xié)同工作中起作用。其中,最常見的做法是在團隊中確定好 DoD。比如:

特性開發(fā)完成,表示開發(fā)人員經(jīng)過了需求澄清、功能設(shè)計、編寫代碼、單元測試,通過了測試人員的驗收,確保代碼處于一個可部署的狀態(tài),相關(guān)文檔已經(jīng)編寫完畢。

開發(fā)完成,表示開發(fā)人員編寫好功能代碼,編寫好單元測試代碼,編寫好集成測試代碼,測試可以通過,代碼通過了代碼風格檢查、測試覆蓋率檢查。

大家都是聰明人,一旦 DoD 確定好了,誰該做什么事就一目了然了。

DoD 是一個清單,清單是一個個的檢查項,用來檢查我們的工作完成情況。DoD 的檢查項,就是我們開發(fā)產(chǎn)品所需的一系列有價值的活動。比如:編寫代碼、編寫測試代碼、通過測試人員驗收等。

DoD 是團隊成員間彼此匯報的一種機制。別把“匯報”想復雜了,最簡單的匯報就是說一句“這個功能做完了”。當我們有了 DoD,做事便只有兩種狀態(tài),即“做完”和“沒做完”,根本沒有 80% 做完的說法。

DoD 的檢查項應該是實際可檢查的:你說代碼寫好了,代碼在哪里;你說測試覆蓋率達標了,怎么看到;你說你功能做好了,演示一下。

在前面的討論中,我們所說的 DoD 只是從個人層面入手。在團隊層面,我們也可以定義 DoD,比如:

某個功能的 DoD,比如:這個功能特性已經(jīng)開發(fā)完成,經(jīng)過產(chǎn)品負責人的驗收,處于可部署的狀態(tài)。

一個迭代的 DoD,比如:這個迭代規(guī)劃的所有功能已經(jīng)完成。

一次發(fā)布的 DoD,比如,整個軟件處于可發(fā)布狀態(tài),上線計劃已經(jīng)明確。

精益創(chuàng)業(yè):驗證產(chǎn)品特性的思考框架

精益創(chuàng)業(yè)提出“開發(fā)(build)-測量(measure)-認知(learn)”這樣一個反饋循環(huán)和最小可行產(chǎn)品的概念。

當你有了一個新的想法(idea)時,就把想法開發(fā)成產(chǎn)品(code)投入市場,然后,收集數(shù)據(jù)(data)獲取反饋,看看前面的想法是不是靠譜。無非得到兩種結(jié)果:好想法繼續(xù)加強、不靠譜的想法丟掉算了。不管是哪種結(jié)果,你都會產(chǎn)生新的想法,再進入到下一個循環(huán)里。在這個反饋循環(huán)中,你所獲得的認知是最重要的,因為它是經(jīng)過驗證的。

我們能夠接觸到的大多數(shù)產(chǎn)品都可以放在這個框架內(nèi)思考。當產(chǎn)品經(jīng)理要做一個新產(chǎn)品或是產(chǎn)品的一個新特性,我們就可以用精益創(chuàng)業(yè)的這幾個概念來檢驗一下產(chǎn)品經(jīng)理是否想清楚。

比如,你要做這個產(chǎn)品特性,你要驗證的東西是什么呢?他要驗證的目標是否有數(shù)據(jù)可以度量呢?要解決的這個問題是不是當前最重要的事情,是否還有其他更重要的問題呢?如果這些問題得到肯定的答復,那么驗證這個目標是否有更簡單的解決方案,是不是一定要通過開發(fā)一個產(chǎn)品特性來實現(xiàn)。

任務(wù)分解馬斯克的任務(wù)分解

特斯拉的創(chuàng)始人伊隆·馬斯克(Elon Musk)同時還創(chuàng)建了太空探索公司 SpaceX。SpaceX 有一個目標是,送 100 萬人上火星。美國政府曾經(jīng)算過一筆賬,把一個人送上火星,以現(xiàn)有技術(shù)是可行的,但需花費 100 億美金。如果送 100 萬人上火星就要 1 萬萬億,這筆錢相當于美國 500 年的 GDP,貴到連美國政府都無法負擔。

馬斯克怎么解決這個問題呢?他的第一步是準備把人均費用降到 50 萬美元,相當于一個人在地球上房子的錢。把原來的 100 億降到 50 萬,降低 2 萬倍即可。

當然,降低 2 萬倍依然是一個聽起來很遙遠的目標。關(guān)注點來了,馬斯克的第二步是,把 2 萬分解成“20×10×100”,這是一道簡單的數(shù)學題,也是馬斯克三個重點努力的方向。

“20”:現(xiàn)在的火星飛船一次只能坐 5 個人,馬斯克打算把火箭造大一點,一次坐 100 人,這樣,就等于把成本降低 20 倍。如果你關(guān)注新聞的話,SpaceX 確實在進行這方面的嘗試。

“10”:馬斯克認為自己是私營公司,效率高,成本可以降到 1/10。事實上,SpaceX 的成本目前已經(jīng)降到了同行的 1/5。

最后的 100 是什么呢?就是回收可重復使用的火箭。如果這個目標能實現(xiàn),發(fā)射火箭的成本就只有燃料成本,這也就是我們頻頻看到 SpaceX 試飛火箭新聞的原因。

這么算下來,你是不是覺得馬斯克的目標不像最開始聽到那樣不靠譜了呢?正是通過將宏大目標進行任務(wù)分解,馬斯克才能將一個看似不著邊際的目標向前推進。

微操作

在ThoughtWorks 工作時,我的 Sponsor 是 ThoughtWorks 現(xiàn)任 CEO 郭曉(Sponsor,類似于工廠里師傅帶徒弟的關(guān)系),他也是寫代碼出身的。他和我講過他和 Wiki 的發(fā)明者 Ward Cunningham 一起結(jié)對編程的場景。

Ward 每天拿到一個需求,并不急于寫代碼,而是和郭曉一起做任務(wù)分解,分解到每個任務(wù)都很清晰之后,一個個任務(wù)完成就好了。當時郭曉雖然覺得工作很緊張,但思路卻非常清晰。有時,他也很奇怪,因為在開始工作之前,他會覺得那個問題非常難以解決,結(jié)果一路分解下來,每一步都是清晰的,也沒遇到什么困難就完成了。

任務(wù)分解是個好習慣,但想要掌握好它,大量的練習是必須的。我自己也著實花不少時間進行練習。隨著我的練習增多,我越發(fā)理解任務(wù)分解的關(guān)鍵在于“小”。小到什么程度呢?有時甚至可以小到你認為這件事不值得成為一件獨立的事,比如,升級一個依賴的版本,做一次變量改名。這樣做好處就是,它保證了我可以隨時停下來。

我曾讀到過一個關(guān)于著名高爾夫球手“老虎”伍茲的故事。高爾夫球手在打球的時候,可能會受到一些外界干擾,一般情況下還好,如果他已經(jīng)開始揮桿,這時候受到了干擾,一般選手肯定是繼續(xù)把桿揮下去,但通常結(jié)果是打得不理想。而伍茲遇到這種情況,他會停下來,重新做揮桿的動作,保證了每一桿的標準。

伍茲能停下來,固然是經(jīng)過了大量的練習,但還有一個關(guān)鍵在于,對于別人而言,揮桿擊球是一個動作,必須一氣呵成,而對伍茲來說,這個動作是由若干小動作組成,他只不過是剛好完成了某個小動作,而沒有做下一個小動作而已。換句話說,大家同樣都是完成一個原子操作,只不過,伍茲的原子操作比其他人的原子操作小得多。

一個經(jīng)過分解后的任務(wù),需要關(guān)注的內(nèi)容是有限的,我們就可以針對這個任務(wù),把方方面面的細節(jié)想得更加清晰。很多人寫代碼之所以漏洞百出,一個重要的原因就是任務(wù)粒度太大。

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

    關(guān)注

    30

    文章

    4973

    瀏覽量

    74155
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    956

    瀏覽量

    30969
  • 馬斯克
    +關(guān)注

    關(guān)注

    1

    文章

    862

    瀏覽量

    22649

原文標題:大師級程序員,都用哪些工作法?

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    使用AMD Value Package加速提升工作效率

    AMD Value Package (AVP) 是一種一體化解決方案套件,旨在幫助工程團隊提升工作效率、降低成本并激發(fā)創(chuàng)新活力。每份訂閱均隨附一個 AMD Vivado 企業(yè)版許可證,還提供靈活可變
    的頭像 發(fā)表于 01-30 11:01 ?623次閱讀

    電機中磁瓦的性能直接影響電機的工作效率

    隨著工業(yè)技術(shù)的不斷發(fā)展,電機已成為各行各業(yè)中不可或缺的關(guān)鍵設(shè)備之一。而電機的性能直接影響到其在生產(chǎn)中的工作效率,而其中一個重要的組成部分就是電機磁瓦,本文將介紹電機磁瓦的性能如何影響電機的工作效率
    的頭像 發(fā)表于 01-29 16:29 ?194次閱讀
    電機中磁瓦的性能直接影響電機的<b class='flag-5'>工作效率</b>

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

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

    如何成為編程高手

    的時候會去玩游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解。   5、對答案的渴求   人類自然科學
    發(fā)表于 12-29 06:57

    工業(yè)HMI選型指南(中):決定效率的9項核心軟件功能指標

    前言 在上一篇中,我們確立了工控屏HMI可靠的硬件平臺標準。 本篇我們將聚焦于HMI的核心價值體現(xiàn)—軟件體驗。HMI的實際效能,最終取決于其軟件功能是否能有效提升操作員的工作效率、保障生產(chǎn)質(zhì)量,并
    的頭像 發(fā)表于 12-24 15:56 ?1235次閱讀
    工業(yè)HMI選型指南(中):<b class='flag-5'>決定</b><b class='flag-5'>效率</b>的9項核心軟件功能指標

    宏集干貨 | 工業(yè)HMI選型指南(中):決定效率的九項核心軟件功能指標

    —軟件體驗。HMI的實際效能,最終取決于其軟件功能是否能有效提升操作員的工作效率、保障生產(chǎn)質(zhì)量,并簡化工程師的開發(fā)與維護工作。本章將詳細拆解九項直接影響團隊工作效率
    的頭像 發(fā)表于 12-18 17:03 ?650次閱讀
    宏集干貨 | 工業(yè)HMI選型指南(中):<b class='flag-5'>決定</b><b class='flag-5'>效率</b>的九項核心軟件功能指標

    編程序段的定義介紹

    的段基址寄存器為DS; INT 21H表示調(diào)用操作系統(tǒng)提供的21H號服務(wù)程序。服務(wù)的種類AH中的功能號決定,本例中4CH表示返回操作系統(tǒng)的操作;AL中的代碼稱為返回代碼,用返回代碼
    發(fā)表于 11-21 08:19

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

    10月25日,隨著TalkwebHouse@AI編程技術(shù)沙龍在拓維信息總部落下帷幕,TalkwebHouse科創(chuàng)孵化平臺聯(lián)合CSDN、開源鴻蒙開發(fā)者與活動運營組、拓維信息、開鴻智谷共同打造的“長沙
    的頭像 發(fā)表于 10-27 18:59 ?818次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    霍爾開關(guān)抗干擾能力的如何?霍爾芯片的抗干擾能力哪些因素決定(四)

    霍爾芯片開關(guān)
    hallwee
    發(fā)布于 :2025年10月22日 11:23:38

    霍爾開關(guān)抗干擾能力的如何?霍爾芯片的抗干擾能力哪些因素決定(三)

    霍爾芯片開關(guān)
    hallwee
    發(fā)布于 :2025年10月22日 11:22:50

    霍爾開關(guān)抗干擾能力的如何?霍爾芯片的抗干擾能力哪些因素決定(二)

    霍爾芯片開關(guān)
    hallwee
    發(fā)布于 :2025年10月22日 11:21:54

    霍爾開關(guān)抗干擾能力的如何?霍爾芯片的抗干擾能力哪些因素決定(一)

    霍爾芯片開關(guān)
    hallwee
    發(fā)布于 :2025年10月22日 11:18:05

    大模型工具的 “京東答案

    隨著大模型技術(shù)的迅猛發(fā)展,AI工具已成為重要的輔助生產(chǎn)力工具和工作伙伴。它能夠顯著提升工作效率、幫助解決業(yè)務(wù)痛點,甚至能通過知識延展與智能協(xié)同,幫助團隊突破傳統(tǒng)認知邊界。掌握大模型工具的應用能力,正
    的頭像 發(fā)表于 08-25 16:09 ?621次閱讀

    基于無線通信網(wǎng)關(guān)的PLC程序遠程升級系統(tǒng)方案

    基于基于無線通信網(wǎng)關(guān)的PLC程序遠程升級系統(tǒng)方案。通過將無線通信網(wǎng)關(guān)接入到現(xiàn)場PLC中,能夠為工廠PLC提供一個遠程通信的網(wǎng)絡(luò)通道,技術(shù)人員即可在辦公室對異地PLC進行程序升級下載、編程調(diào)試等操作,從而提高
    的頭像 發(fā)表于 07-07 10:53 ?831次閱讀
    基于無線通信網(wǎng)關(guān)的PLC<b class='flag-5'>程序</b>遠程升級系統(tǒng)方案

    如何在 樹莓派 上編寫和運行 C 語言程序?

    在本教程中,我將討論C編程語言是什么,C編程的用途,以及如何在RaspberryPi上編寫和運行C程序。本文的目的是為您介紹在RaspberryPi上進行C編程的基礎(chǔ)知識。如果您想深入
    的頭像 發(fā)表于 03-25 09:28 ?1220次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?