色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

你是編程中的“快槍手”還是“慢悠悠”?

  英文原文:Code fast or code slow? Who are you?

  一般而言,有兩種類型的開發(fā)者。一種編碼速度快,喜歡一大段一大段的組合代碼,然后看它是否能順利運(yùn)行,這是編程中的“快槍手”,還有一種在朝著目標(biāo)前進(jìn)的時候比較淡定,他們會確保他們所寫的一切代碼都是精心設(shè)計(jì)的,可維護(hù)和可擴(kuò)展的。因?yàn)檫@個原因,使得他們在速度上顯得比別人慢,所以是“慢悠悠”。

  兩者之間的區(qū)別是,前者完成的效率更高,但代碼的錯誤率更大(除非他們特別幸運(yùn)),而后者代碼的錯誤率就少多了,并且易于擴(kuò)展和維護(hù)。親你是哪一種呢?

8001363_225500505191_2

  愚蠢的“快槍手”?

  大多數(shù)開發(fā)人員可能不敢承認(rèn)自己是那種以良好的體系結(jié)構(gòu)為代價的“快槍手”。為什么呢?因?yàn)檫@樣可能會產(chǎn)生更高的錯誤率。但是回過頭來想想,哪個系統(tǒng)沒有代碼錯誤?

  拿我自己舉個例子。

  我如果接了個單子要寫程序什么的,會有來自客戶方面的壓力,因?yàn)槲冶仨毤皶r交付。而客戶對于軟件的要求大多是通過電子郵件,電話告知的,或者在某些情況下,客戶會直接寫在票務(wù)系統(tǒng)里發(fā)過來。我的責(zé)任就是,確保程序的功能可以準(zhǔn)確反映這些要求。而大家都知道,有時候客戶想要什么卻并不說出來,而這一點(diǎn)也是我必須考慮進(jìn)去的。

  在開發(fā)團(tuán)隊(duì)中,有寫的快的成員也有寫的慢的,有代碼錯誤率高的也是錯誤率低的。而我我大部分時間在做的是,怎樣將這些人員有效分類。

  繼續(xù)講那個例子。那么我該如何確保客戶的要求能實(shí)現(xiàn)呢?答案是,我得看到實(shí)現(xiàn)要求功能的代碼在哪里。所以,我就有兩個選擇了。第一個選擇是把單子交給能快速交付的“快槍手”,這樣我便可以及時看到運(yùn)行結(jié)果(無論代碼是否有bug也不管后期是否易于維護(hù))。另一個是讓“慢悠悠”來做,有可能直到最后一分鐘他都交付不了,但是拿出來的解決方案必是精品。

  第一種情況下,我能很快拿到成果,而且如果客戶不滿意,還有時間去修改,但是我可能不得不面對不支持?jǐn)U展和不可維護(hù)等等方面的缺陷。而在第二種情況下,因?yàn)闆]有多余的時間,所以將不能按客戶要求進(jìn)行修改,但是代碼簡潔優(yōu)雅,如果未來有需要的話還可以進(jìn)一步擴(kuò)展。

  在這里要著重講一下,可擴(kuò)展和不可擴(kuò)展以及可維護(hù)和不可維護(hù)的區(qū)別。例如,我們已經(jīng)按客戶要求搞定了所需的軟件,但是它的代碼是不可擴(kuò)展的,那么如果用戶喜歡并且想進(jìn)一步擴(kuò)展的話,那你就只能叫苦連天了。但是如果是可擴(kuò)展可維護(hù)的,那么用戶想在某個方面擴(kuò)展的話,那就是小菜一碟了。

  所以,如果用戶沒有要擴(kuò)展某個方面的想法,那么我會選擇“快槍手”。反之就需要“慢悠悠”了。但是如果你想保證100%選擇正確,那就只能讓事后諸葛亮出馬了。

  因?yàn)檫@是一個主觀判斷。

  不可協(xié)同工作

  上面我講的例子如果能團(tuán)隊(duì)中實(shí)行,肯定可以提高整個團(tuán)隊(duì)的工作效率。在分配過程中,我認(rèn)識到,“快槍手”有快速編碼快速交付的特點(diǎn),而“慢悠悠”有完成的代碼簡潔明朗易于維護(hù)的特征。

  隨著社會的發(fā)展,CI / CD已經(jīng)變得適用于多種環(huán)境。并且現(xiàn)在推陳出新也是越來越便宜。即使代碼不可擴(kuò)展,人們也負(fù)擔(dān)得起更新迭代,甚至哪怕就是再次重新架構(gòu)也可以承受。這樣一來,我們就需要“快槍手”按照要求盡可能的快速開發(fā),而在需要架構(gòu)或者重構(gòu)的時候,再青睞“慢悠悠”來大顯身手了。

  但是如果“快槍手”的代碼寫得太快以至于“慢悠悠”完全跟不上,那時候就悲劇了,因?yàn)槟愕玫降闹粫且粋€千瘡百孔,滿是bug的系統(tǒng)。

  誰都不希望得到這樣的結(jié)果。

  預(yù)見機(jī)制

  為了解決上述問題,我們可以使用預(yù)見機(jī)制,用于衡量開發(fā)人員的bug在代碼運(yùn)行時會導(dǎo)致什么問題。這樣既可有效控制“快槍手”的錯誤率,也能確保“慢悠悠”的代碼火車不再晚點(diǎn)。

  有沒有覺得,“快槍手”好像文獻(xiàn)資料或者是驗(yàn)證器?而“慢悠悠”則更加適合放在設(shè)計(jì)和架構(gòu)功能方面,以便于這些方面今后有需要的話,容易維護(hù)和擴(kuò)展。

  也許我們可以叫“快槍手”為功能團(tuán)隊(duì),而“慢悠悠”則更趨向于是一種工程團(tuán)隊(duì)。

  最后,問問你自己,“快槍手”和“慢悠悠”,親你是哪一種呢?

it知識庫你是編程中的“快槍手”還是“慢悠悠”?,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 卢龙县| 井冈山市| 称多县| 防城港市| 枣庄市| 夹江县| 舟山市| 磴口县| 湄潭县| 苏尼特右旗| 班玛县| 岫岩| 西乌珠穆沁旗| 宁陵县| 教育| 五家渠市| 哈尔滨市| 宣武区| 普兰县| 米泉市| 渝北区| 绥棱县| 鹤山市| 绥江县| 濮阳市| 谢通门县| 南开区| 凤台县| 桦川县| 灵宝市| 新丰县| 当雄县| 万全县| 绵竹市| 安义县| 巴林右旗| 乌鲁木齐县| 乌恰县| 齐河县| 麻江县| 凤翔县|