99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

程序員怎樣講清楚技術(shù)方案

工程師人生 ? 來(lái)源:工程師吳畏 ? 2019-01-03 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

具體表現(xiàn)是:

上來(lái)不說(shuō)需求,直接說(shuō)算法實(shí)現(xiàn)。臺(tái)下一頭霧水,根本不知道設(shè)計(jì)方案是否合理。

描述完需求后,又直接看代碼,看表結(jié)構(gòu),沒(méi)有交代流程。

比較簡(jiǎn)單的算法,描述的特別繞,讓人聽(tīng)不懂。被別人指出后,覺(jué)得這東西這么簡(jiǎn)單,你們?yōu)槭裁绰?tīng)不懂,還很委屈。

直接說(shuō)術(shù)語(yǔ),不給解釋。還有自己造術(shù)語(yǔ)不給解釋的,更混亂的是「復(fù)用」已有的術(shù)語(yǔ),讓大家理解都不同。

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

一、要先交代需求背景

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

在評(píng)審中,消耗時(shí)間比較多的,就是臺(tái)下的聽(tīng)眾問(wèn)被評(píng)審人需求背景。還有臺(tái)下的人給出了某個(gè)建議,然后被被評(píng)審人否定,說(shuō)有個(gè)產(chǎn)品的要求我剛才沒(méi)說(shuō)。這時(shí)對(duì)提出建議的人來(lái)說(shuō),是很傷的。

交代好背景并對(duì)齊,是評(píng)審技術(shù)方案和代碼review的基礎(chǔ),否則別人不知道你后面的是否合理,甚至不知道你到底在做什么。技術(shù)方案評(píng)審就無(wú)從談起了。

二、介紹技術(shù)方案整體架構(gòu)

背景知識(shí)說(shuō)完后,說(shuō)你的做法。要先總后分,先從整體介紹架構(gòu)設(shè)計(jì)。有哪些模塊,各自負(fù)責(zé)什么職責(zé),如何銜接……讓大家有個(gè)整體認(rèn)識(shí),看到哪部分是主要矛盾,大家把80%的精力花費(fèi)在20%的重要模塊上評(píng)審,好鋼用在刀刃上。

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

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

三、介紹協(xié)議、庫(kù)表設(shè)計(jì)

整體方案介紹完之后,介紹協(xié)議和數(shù)據(jù)庫(kù)表設(shè)計(jì),開(kāi)始逐步深入細(xì)節(jié)。因?yàn)檫@塊設(shè)計(jì)的是否合理,對(duì)程序的效率影響比較大。

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

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

這部分要注意,盡量少說(shuō)術(shù)語(yǔ)。因?yàn)榇蠹业谋尘爸R(shí)不同,一些專門術(shù)語(yǔ)大家是不知道的,你要用直白的話語(yǔ)讓大家聽(tīng)明白。

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

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

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

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

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

最后上代碼,如果是代碼review,在這個(gè)時(shí)候才開(kāi)始說(shuō)你的代碼。雖然看的時(shí)間比較晚,但是大家都知道你的代碼是什么功能了,看的速度也會(huì)加快。

五、復(fù)盤

每次評(píng)審后,要自己復(fù)盤,總結(jié)。別人都問(wèn)題哪些問(wèn)題,為什么要問(wèn)?哪些問(wèn)題是我應(yīng)該交代沒(méi)交代的,讓人家問(wèn)了?哪些是我方案的問(wèn)題,別人提出的挑戰(zhàn)?

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

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

千萬(wàn)不要覺(jué)得聽(tīng)眾好笨,這么簡(jiǎn)單都不明白,如果臺(tái)下的人都不明白,那么一定是你錯(cuò)了。能力強(qiáng)的人是能夠把難題講解的很簡(jiǎn)單的。美國(guó)有專門負(fù)責(zé)科普的作家,把復(fù)雜的科學(xué)知識(shí)做到「老嫗?zāi)芙狻?。臺(tái)下評(píng)審的人都是身經(jīng)百戰(zhàn)的,如果他們都反映聽(tīng)不懂,那么會(huì)是誰(shuí)的問(wèn)題呢?

總結(jié)

技術(shù)方案講解要先交代背景,再講整體架構(gòu),再細(xì)化流程。先主線,再分支,先正確路徑,再異常邏輯。要在聽(tīng)眾的角度去講,盡量直白簡(jiǎn)單,能夠讓不懂技術(shù)的人聽(tīng)懂才是最好的。

聲明:本文內(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

    文章

    954

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    一文講清楚芯片的分類-多個(gè)維度

    ?定義:執(zhí)行程序指令、處理數(shù)據(jù)的核心組件,包含算術(shù)邏輯單元(ALU)、控制單元(CU)等。 ?類型: ?CPU(中央處理器):計(jì)算機(jī)、服務(wù)器的“大腦”,如Intel Core系列。 ?GPU(圖形處理器):擅長(zhǎng)并行計(jì)算,用于圖形渲染、AI加速,如N
    的頭像 發(fā)表于 05-06 15:04 ?573次閱讀

    一文講清楚電動(dòng)汽車充電系統(tǒng)

    充電系統(tǒng)是新能源汽車主要的能源供給系統(tǒng),為保障車輛持續(xù)行駛提供動(dòng)力能源。電動(dòng)汽車的充電系統(tǒng)是新能源轉(zhuǎn)型的關(guān)鍵組成部分,直接影響著車輛的使用體驗(yàn)與效率。根據(jù)電動(dòng)汽車動(dòng)力蓄電池的技術(shù)特性和使用性質(zhì),其
    的頭像 發(fā)表于 01-24 16:58 ?3247次閱讀
    一文<b class='flag-5'>講清楚</b>電動(dòng)汽車充電系統(tǒng)

    桃芯科技軟件審核簡(jiǎn)介

    本文檔對(duì)如何審核一個(gè)項(xiàng)目的軟件是否符合量產(chǎn)要求進(jìn)行闡述;審核目的為確保軟件足夠健全、穩(wěn)定、易于量產(chǎn),做出更有品質(zhì)的產(chǎn)品;該文檔不一定會(huì)講清楚每個(gè)檢測(cè)項(xiàng),但會(huì)盡可能提示你如何掌控調(diào)整方向。
    的頭像 發(fā)表于 01-24 09:24 ?475次閱讀

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

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

    TMS320C6000程序員指南

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

    TMS320C55x DSP CPU程序員參考補(bǔ)充

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

    UCD3138A64/UCD3138128程序員手冊(cè)

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

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

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

    一篇文章講清楚HDMI 2.1的一切

    HDMI 2.1是高清多媒體接口(HDMI)的最新版本,它帶來(lái)了一系列顯著的技術(shù)升級(jí)和新功能。
    的頭像 發(fā)表于 11-28 15:56 ?7069次閱讀

    Linux驅(qū)動(dòng)程序程序員指南

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

    AI編程工具會(huì)不會(huì)搶程序員飯碗

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

    第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開(kāi)幕

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

    電容的“通交流、阻直流”,終于有人講清楚了!

    “通交阻直”是電容重要的特性之一,即電容可以交流電導(dǎo)通,但直流電阻斷。 這是為什么呢? 從理論上來(lái)講,電荷是根本不能在電容中流動(dòng)的。 因?yàn)樵谄叫邪咫娙萆想姾?,一塊板帶正電,另一塊板帶負(fù)電,在兩快板之間的非導(dǎo)電介質(zhì)不能使兩種電荷相互轉(zhuǎn)移并接觸,完成電荷流動(dòng)。真能通過(guò),那也代表著電容被擊穿了,無(wú)法使用了。 所以直流是肯定不能通過(guò)電容的,但為什么交流反而可以呢? 事實(shí)上,當(dāng)電容接通電源時(shí),實(shí)際上自由電荷沒(méi)有通過(guò)兩極間的絕緣介質(zhì),直流是如此,交流亦是如此。 但是,交流電的電壓是不斷變化的,積累在兩極板上的電荷發(fā)生變化,引起兩極板間的電壓變化,當(dāng)電壓升高時(shí),電荷向電容的極板上聚集,形成充電電流;當(dāng)電壓降低時(shí),電荷離開(kāi)極板,形成放電電流。 不斷地充電和放電,對(duì)外電路來(lái)說(shuō)就有了電流,這也就是電容通交流的原因,即便電荷沒(méi)有真的通過(guò)極板。 為了更好地理解電容的“通交阻直”,我們還需要搞懂這兩點(diǎn): 1、電容接上直流電,也會(huì)產(chǎn)生電流。 當(dāng)電容兩端接通直流電源時(shí),會(huì)進(jìn)入充電狀態(tài),電路中產(chǎn)生充電電流,不過(guò)這個(gè)時(shí)間太短太短,一般只需要千分之一秒左右瞬間完成充電。當(dāng)電容器的電場(chǎng)力與電源力平衡時(shí),電荷就不再移動(dòng),充電過(guò)程結(jié)束,電路中就不再有電流通過(guò),所以就表現(xiàn)出來(lái)直流電無(wú)法通過(guò)電容的現(xiàn)象。 2、不是所有交流電都能通過(guò)電容。 當(dāng)電容兩端接上交流電源時(shí),因交流電的大小與方向不斷交替變化,就使電容不斷進(jìn)行充電與放電,電路始終有電流流通,所以說(shuō)電容可通交流。 但這里有個(gè)問(wèn)題,就是如果電容很快充完電了,但交流電還沒(méi)有變化(從正半周變化到負(fù)半周),那此時(shí)就類似直流電的情況,即電路沒(méi)電流了,相當(dāng)于斷路。直到等到交流電負(fù)半周到來(lái),電容放電,電路才重新產(chǎn)生電流。 這意味著,如果交流電頻率較低(變化速度慢),接上電容時(shí)會(huì)中途斷電流,即電路不是完全導(dǎo)通。如果頻率超級(jí)低,無(wú)限接近于0,那電路就會(huì)看起來(lái)不通。 所以不是所有交流電都能通過(guò)電容,而是高頻率導(dǎo)通,低頻率阻斷。 ?
    發(fā)表于 10-09 11:43

    阿里云設(shè)備的物模型數(shù)據(jù)里面始終沒(méi)有值是為什么?

    如上圖,不知道講清楚沒(méi)有。 IG502自定義TOPIC 上發(fā)到阿里云沒(méi)問(wèn)題。采用阿里云物模型的格式來(lái)上發(fā)就不行。請(qǐng)大佬指教!
    發(fā)表于 07-24 07:49

    京東上萬(wàn)程序員都AI用它!

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