最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

你只寫(xiě)了兩行代碼,為什么要花兩天時(shí)間?

2020-10-16 11:14 作者:圖靈社區(qū)  | 我要投稿


原文 |?https://www.mrlacey.com

作者?|?Matt Lacey

我花了兩天時(shí)間,寫(xiě)了兩行代碼。對(duì)于真正的程序員來(lái)看,這可能是一個(gè)合理的事情,但背后不理解程序員的人,往往會(huì)做出了一個(gè)可怕的假設(shè):

  • 代碼行數(shù) = 程序員的努力

  • 代碼行數(shù) = 程序員的價(jià)值

  • 所有代碼都是等效的

我想對(duì)這些人說(shuō),“別瞎猜了,這都是錯(cuò)的!”

那么,為何看似簡(jiǎn)單的問(wèn)題,要花費(fèi)兩天時(shí)間才能修復(fù)呢?

因?yàn)橛行┤松蠄?bào)問(wèn)題時(shí),對(duì)描述「如何復(fù)現(xiàn)問(wèn)題」寫(xiě)得十分模糊。有時(shí)我們要花了幾個(gè)小時(shí)才能復(fù)現(xiàn)問(wèn)題。收到報(bào)告時(shí),一些程序員會(huì)立即反饋給上報(bào)問(wèn)題的人,要求他們提供更多的信息,才能研究問(wèn)題是如何產(chǎn)生的。

而有些程序員不喜歡修復(fù) bug,他們會(huì)以信息不完整,無(wú)法復(fù)現(xiàn)問(wèn)題為借口,拖延修復(fù)進(jìn)度。

我知道上報(bào)問(wèn)題可能很麻煩,對(duì)此我向上報(bào)問(wèn)題的人表示感謝。所以我盡可能在用已知信息來(lái)修復(fù) bug,避免給上報(bào)的人增加溝通成本。

因?yàn)樯蠄?bào)的問(wèn)題與自己負(fù)責(zé)開(kāi)發(fā)的功能不相關(guān)。?

有時(shí),與發(fā)現(xiàn)的錯(cuò)誤相關(guān)的功能是我很少使用的,或者不是我負(fù)責(zé)開(kāi)發(fā)的。這意味著,我要花了更長(zhǎng)的時(shí)間來(lái)理解這個(gè)功能是如何實(shí)現(xiàn)的,以及它與錯(cuò)誤是如何關(guān)聯(lián)的。

因?yàn)槲倚枰〞r(shí)間調(diào)查問(wèn)題的真正原因,而不是僅僅看表面上的錯(cuò)誤。

通常,如果某些代碼拋出錯(cuò)誤,則可以將其包裝在 try...catch 語(yǔ)句中來(lái)避免錯(cuò)誤。如果這樣沒(méi)有錯(cuò)誤,就是沒(méi)有問(wèn)題嗎?不,對(duì)我來(lái)說(shuō),讓問(wèn)題不出現(xiàn)與解決該問(wèn)題是不同的。這種方式規(guī)避錯(cuò)誤很容易導(dǎo)致其他意外的副作用。我不想在將來(lái)再與這次問(wèn)題打交道。

因?yàn)槲倚枰芯俊甘欠翊嬖谄渌椒梢詮?fù)現(xiàn)相同的問(wèn)題」,而不是按步驟簡(jiǎn)單地復(fù)現(xiàn)問(wèn)題。

可能有其他方法讓我們找到 bug 帶來(lái)的更深層問(wèn)題。找到問(wèn)題的根本原因,并研究解決方法,這才可以避免類似 bug 的產(chǎn)生。

因?yàn)槲倚枰〞r(shí)間驗(yàn)證代碼的其他地方是否會(huì)受到影響。

如果某段代碼導(dǎo)致了錯(cuò)誤,那么在代碼庫(kù)的其他地方也可能發(fā)生相同的錯(cuò)誤,此時(shí)是檢查的好時(shí)機(jī)。?

因?yàn)楫?dāng)我需要找到問(wèn)題的根源時(shí),我尋求最簡(jiǎn)單的方法來(lái)解決它,而這種方法將帶來(lái)最小的副作用風(fēng)險(xiǎn)。

我并不想只以最快的方案來(lái)解決問(wèn)題,我想要的修復(fù)方案是在將來(lái)不會(huì)引起混亂或其他 bug。

因?yàn)槲覍?duì)自己所做的更新會(huì)進(jìn)行徹底的測(cè)試,并驗(yàn)證所有受影響的路徑保證沒(méi)有問(wèn)題產(chǎn)生。我不想依靠別人來(lái)測(cè)試我所做的更新,因?yàn)槲也幌M笤侔l(fā)現(xiàn)錯(cuò)誤。再次重新思考之前的方案既耗時(shí)又費(fèi)力,所以我會(huì)盡可能避免讓測(cè)試的人再次上報(bào)類似的問(wèn)題。

其實(shí)我不喜歡修復(fù) bug。其中一個(gè)原因是,這些 bug 是自己必須要面對(duì)的錯(cuò)誤。另一個(gè)原因是,我更喜歡在新功能的開(kāi)發(fā)上,有哪個(gè)程序員會(huì)喜歡把時(shí)間耗在修復(fù) bug 上呢?

問(wèn):如果想逼瘋一個(gè)程序員,還有什么比讓他馬上修復(fù)一個(gè) bug 更有效的呢?

答:讓他反復(fù)修復(fù)同一個(gè) bug。

我愿意會(huì)花時(shí)間確保任何一個(gè) bug 在出現(xiàn)后會(huì)被完全修復(fù),這樣就不需要再一遍一遍地檢查、修復(fù)和測(cè)試了。

同樣也避免和和領(lǐng)導(dǎo)、產(chǎn)品經(jīng)理、測(cè)試人員之間的相互傷害了。

程序員改善代碼質(zhì)量的 101 個(gè)方法

本書(shū)介紹了軟件開(kāi)發(fā)領(lǐng)域 101 個(gè)重要的編程原則,涉及編程中的永恒真理,指導(dǎo)方針,編程思想,程序員的視角、習(xí)慣和工具,以及編程的反模式等內(nèi)容。

書(shū)中以“這個(gè)原則是什么”“為什么要遵循這個(gè)原則”“具體應(yīng)該怎么做”為中心,對(duì)各個(gè)原則進(jìn)行介紹,簡(jiǎn)明扼要,通俗易懂。這些原則凝聚了前人的智慧,經(jīng)過(guò)了歷史的考驗(yàn),是指導(dǎo)程序員改善代碼、進(jìn)一步提升編程能力的實(shí)用指南。

本書(shū)適合各層次軟件開(kāi)發(fā)人員和項(xiàng)目管理人員閱讀,也可作為高等院校計(jì)算機(jī)相關(guān)專業(yè)師生的參考讀物。


你只寫(xiě)了兩行代碼,為什么要花兩天時(shí)間?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阿克苏市| 清丰县| 商城县| 宁安市| 会同县| 洱源县| 武威市| 久治县| 龙海市| 三原县| 望谟县| 大庆市| 华阴市| 临江市| 无锡市| 莱阳市| 杭锦旗| 肇州县| 太保市| 政和县| 越西县| 江城| 奉新县| 库尔勒市| 七台河市| 堆龙德庆县| 林周县| 许昌市| 淳化县| 启东市| 山东| 黔江区| 武安市| 郸城县| 石棉县| 资阳市| 平昌县| 洞头县| 彭水| 青河县| 亚东县|