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

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

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

程序員怎樣講清楚技術方案

工程師人生 ? 來源:工程師吳畏 ? 2019-01-03 09:32 ? 次閱讀

最近在評審技術方案,和代碼review的時候,遇到剛?cè)胄械耐瑢W們,很多都講不清楚技術方案。

具體表現(xiàn)是:

上來不說需求,直接說算法實現(xiàn)。臺下一頭霧水,根本不知道設計方案是否合理。

描述完需求后,又直接看代碼,看表結構,沒有交代流程。

比較簡單的算法,描述的特別繞,讓人聽不懂。被別人指出后,覺得這東西這么簡單,你們?yōu)槭裁绰牪欢€很委屈。

直接說術語,不給解釋。還有自己造術語不給解釋的,更混亂的是「復用」已有的術語,讓大家理解都不同。

那么程序員如何把技術方案講清楚呢?下面從實用的角度教大家一些小技巧,在短時間內(nèi)具備講清楚的能力。在文末給出通用的方法論學習書籍,供長線學習,達到把所有事情都能交代清楚。

一、要先交代需求背景

為什么要做這個需求,對于實現(xiàn)的要求是什么,產(chǎn)品經(jīng)理提了哪些邊界條件。沒有銀彈,一個技術方案的好壞與實現(xiàn)要求息息相關,是不能脫鉤的。例如,一個接口訪問質(zhì)量統(tǒng)計系統(tǒng),可以接受一天跑一次腳本生成數(shù)據(jù)。但是為用戶提供服務的消費明細,肯定要能實時展示,并且不能出錯。

在評審中,消耗時間比較多的,就是臺下的聽眾問被評審人需求背景。還有臺下的人給出了某個建議,然后被被評審人否定,說有個產(chǎn)品的要求我剛才沒說。這時對提出建議的人來說,是很傷的。

交代好背景并對齊,是評審技術方案和代碼review的基礎,否則別人不知道你后面的是否合理,甚至不知道你到底在做什么。技術方案評審就無從談起了。

二、介紹技術方案整體架構

背景知識說完后,說你的做法。要先總后分,先從整體介紹架構設計。有哪些模塊,各自負責什么職責,如何銜接……讓大家有個整體認識,看到哪部分是主要矛盾,大家把80%的精力花費在20%的重要模塊上評審,好鋼用在刀刃上。

例如一個發(fā)獎活動,最重要的模塊是發(fā)獎抽獎模塊,但是上來不講整體,而是先講展示活動規(guī)則的模塊,而且用掉了大半的時間,是很浪費人力的。

整體架構的描述用架構圖、流程圖,加上簡練的語言,交代明白即可。一般都有架構模板,直接按照模板的要求,參考已有的優(yōu)秀例子,都不會有大問題。最重要的是這塊要先講,先交代清楚。

三、介紹協(xié)議、庫表設計

整體方案介紹完之后,介紹協(xié)議和數(shù)據(jù)庫表設計,開始逐步深入細節(jié)。因為這塊設計的是否合理,對程序的效率影響比較大。

分清哪些協(xié)議、表是重要的,著重講,其他不太重要的快速講。

協(xié)議的執(zhí)行流程,要交代清晰,整個協(xié)議是怎么在各個模塊中流轉(zhuǎn)的,到具體數(shù)據(jù)修改時,是如何和已有表結構串聯(lián)起來的。這也是程序執(zhí)行的流程,如果講不清楚,會深度懷疑你是否能實現(xiàn)清楚。

這部分要注意,盡量少說術語。因為大家的背景知識不同,一些專門術語大家是不知道的,你要用直白的話語讓大家聽明白。

例如:有人在描述協(xié)議流程時說「我調(diào)用server提供的123號命令,返回成功后,把數(shù)據(jù)庫的state字段改為2,就完成發(fā)獎了」。但是你說的123是干什么的,state是什么意思,2是什么狀態(tài)?

大家的疑問太多了,好的說法應該是,「我調(diào)用server提供的123號發(fā)獎的協(xié)議,返回成功后,把數(shù)據(jù)庫中該用戶的發(fā)獎狀態(tài),更新為已發(fā)獎」。

四、描述分支和異常邏輯,講解代碼

經(jīng)過前面幾部的講解,方案基本上講完了。剩下的就是講分支邏輯,和異常邏輯。一份代碼寫的好不好,程序員是否有經(jīng)驗,主要是看對于異常處理是否到位。

這部分從架構上主要講容災、魯棒性,例如某個server死掉了,或者某個模塊頻繁請求,你的系統(tǒng)是否有預警,能夠兼容。說白了就是要講解系統(tǒng)的邊界條件和服務能力。

最后上代碼,如果是代碼review,在這個時候才開始說你的代碼。雖然看的時間比較晚,但是大家都知道你的代碼是什么功能了,看的速度也會加快。

五、復盤

每次評審后,要自己復盤,總結。別人都問題哪些問題,為什么要問?哪些問題是我應該交代沒交代的,讓人家問了?哪些是我方案的問題,別人提出的挑戰(zhàn)?

對于自己沒交代的,思考為什么會漏,如果能提前講清楚,是否能節(jié)約很多時間。

根本的心法就是要有同理心。從對方的角度思考,這個問題他會了解嗎,我不說他明白嗎?方案評審重要的不是你說完,而是別人聽懂。關注臺下人的反應,你的任務不是講,而是讓大家聽明白。不是一個勁的說,而是要讓大家都理解你的意思,這樣別人才能幫你。否則別人會一直問問題,挑戰(zhàn)你,最后否定你的方案。

千萬不要覺得聽眾好笨,這么簡單都不明白,如果臺下的人都不明白,那么一定是你錯了。能力強的人是能夠把難題講解的很簡單的。美國有專門負責科普的作家,把復雜的科學知識做到「老嫗能解」。臺下評審的人都是身經(jīng)百戰(zhàn)的,如果他們都反映聽不懂,那么會是誰的問題呢?

總結

技術方案講解要先交代背景,再講整體架構,再細化流程。先主線,再分支,先正確路徑,再異常邏輯。要在聽眾的角度去講,盡量直白簡單,能夠讓不懂技術的人聽懂才是最好的。

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

    關注

    4

    文章

    945

    瀏覽量

    29682
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    適者生存,程序員最終會流向哪……

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

    2024程序員的未來方向如何走?還看今朝

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

    程序員表白程序

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

    一文認識壓敏電阻

    今天這篇文章用5000字的篇幅講清楚壓敏電阻。
    的頭像 發(fā)表于 11-20 17:34 ?3233次閱讀
    一文認識壓敏電阻

    嵌入式程序員應知道的幾個基本問題

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

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

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

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

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

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

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

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

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

    今天程序員節(jié)長沙出招 全國首個!長沙為程序員打造“1024街”

    命名為“1024街”。 “1024街”定位為全球首個完全展現(xiàn)程序員技術創(chuàng)新和引領行業(yè)發(fā)展的人文街道,有華為、湘江實驗室、北京大學長沙計算與數(shù)字經(jīng)濟研究院、中科曙光、長沙知識產(chǎn)權保護中心等多家企業(yè)與機構入駐,是名副其實的程序員街。
    的頭像 發(fā)表于 10-24 14:29 ?523次閱讀

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

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

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

    發(fā)展理應得到社會更多的關注。 10月24日至25日,由中國軟件行業(yè)協(xié)會與中軟國際有限公司聯(lián)合主辦的2023中國程序員節(jié)即將在北京展覽館盛大啟幕。 據(jù)悉,本屆中國程序員節(jié)將圍繞“技術創(chuàng)新與開源合作”年度主題,立足
    的頭像 發(fā)表于 10-24 10:30 ?378次閱讀
    “程”力來襲 2023中國<b class='flag-5'>程序員</b>節(jié)即將在京開幕

    16位MCU和DSC程序員參考手冊

    電子發(fā)燒友網(wǎng)站提供《16位MCU和DSC程序員參考手冊.pdf》資料免費下載
    發(fā)表于 09-25 14:51 ?9次下載
    16位MCU和DSC<b class='flag-5'>程序員</b>參考手冊