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

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

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

對(duì)于工程師來說code只要能用,就是好code嗎

自動(dòng)駕駛說 ? 來源:自動(dòng)駕駛說 ? 作者:自動(dòng)駕駛說 ? 2020-10-14 09:23 ? 次閱讀

讀者問題:提升研發(fā)效率最有效的方法有哪些?

首先,這個(gè)問題的前提是你敢于質(zhì)疑你的研發(fā)方法。如果發(fā)現(xiàn)團(tuán)隊(duì)長(zhǎng)時(shí)間無法突破研發(fā)瓶頸,很可能是因?yàn)檠邪l(fā)的方法不對(duì)。

團(tuán)隊(duì)的管理者應(yīng)時(shí)常審視團(tuán)隊(duì)使用的研發(fā)策略,思考有沒有更好的方法,絕不能固守常態(tài)。

特別是在自動(dòng)駕駛領(lǐng)域,各種研發(fā)策略日新月異,管理者如果跟不上節(jié)奏,很快就會(huì)被行業(yè)淘汰。

研發(fā)策略確定之后,就是效率的問題了。

個(gè)人認(rèn)為,研發(fā)的效率主要由兩個(gè)方面決定。一方面是工程師們是否有engineering excellence,即工程的卓越性,一方面是管理者是否搭建支持工程卓越性的文化與制度。

狹義上來講,工程卓越性是指代碼的流程是否足夠高效,足夠嚴(yán)謹(jǐn),從而保證代碼的質(zhì)量。從build,到code review,到test,到release,每一環(huán)都不可忽視。

團(tuán)隊(duì)一旦決定更新研發(fā)策略,整個(gè)代碼流程也要隨之變動(dòng),代碼很可能在這個(gè)過程中越來越雜亂無章。因此,code refactoring也需要時(shí)常進(jìn)行,讓代碼禁得住時(shí)間的考驗(yàn)。工程師們需要時(shí)常問自己以下這些問題。

我的code能讓公司的新員工看懂嗎?

我的文檔里寫的話一般人看得懂嗎?術(shù)語多嗎?還是,我根本就沒有為了這段代碼寫過任何文檔?

我的這項(xiàng)測(cè)試是否合理?測(cè)試結(jié)果是否具有可重復(fù)性?

我是否嚴(yán)格遵守了公司的style guide?

我的code可以用在其他地方嗎?容易被其他團(tuán)隊(duì)借鑒嗎?

如果給我機(jī)會(huì)重新寫一遍這段code,我會(huì)怎樣寫?

工程卓越性近年來尤為盛行。在成熟互聯(lián)網(wǎng)公司往往比較受重視。在大公司,工程師數(shù)量龐大,更強(qiáng)調(diào)團(tuán)隊(duì)合作,所以更依賴工程卓越性。 而在小公司,速度往往更重要,code只要“能用”,就是好code。然而,日積月累,tech debt(技術(shù)負(fù)債)會(huì)越來越多,從而導(dǎo)致code質(zhì)量成為研發(fā)的瓶頸。 這也是很多團(tuán)隊(duì)困惑的原因。明明所有人都在加班加點(diǎn)地研發(fā),卻始終進(jìn)度緩慢。其實(shí),問題不在于技術(shù)本身,而在于tech debt。 而我們明明知道有tech debt,卻往往不做出任何改變,任其增長(zhǎng),導(dǎo)致團(tuán)隊(duì)陷于惡性循環(huán)之中。這是為什么? 著名的軟件工程師Martin Fowler曾把tech debt歸為了四個(gè)象限。團(tuán)隊(duì)的每一位成員都要定期用這個(gè)表審視自己的項(xiàng)目,看看是否有tech debt。

因此,公司需要從文化上鼓勵(lì)團(tuán)隊(duì)做到工程卓越性。比如,如果團(tuán)隊(duì)趕時(shí)間,就要承擔(dān)因?yàn)檫^于匆忙帶來的后果。要么就給團(tuán)隊(duì)充足的時(shí)間去做,時(shí)間分配要合理。如果一個(gè)看似簡(jiǎn)單的項(xiàng)目卻需要半年時(shí)間完成,團(tuán)隊(duì)領(lǐng)導(dǎo)者不可以一上來就去否定,而要先耐心了解背后的原因。 如果是一個(gè)全新的研發(fā)策略,團(tuán)隊(duì)往往會(huì)在開發(fā)過程中犯很多錯(cuò)誤。團(tuán)隊(duì)領(lǐng)導(dǎo)者同樣不可以一上來就去否定,而要鼓勵(lì)團(tuán)隊(duì)分析錯(cuò)誤的而原因,避免以后再犯。 另外,工程師們不愿意清理tech debt的一個(gè)原因是怕影響進(jìn)度。公司可以計(jì)劃出一月的時(shí)間,讓所有團(tuán)隊(duì)一起清理tech debt,不要追進(jìn)度,這樣就可以保證工程師在沒有壓力的環(huán)境下清理tech debt。 除了code質(zhì)量,工程卓越性也指團(tuán)隊(duì)的配套研發(fā)工具是否到位。搭建配套工具往往有幾個(gè)目的:將研發(fā)流程自動(dòng)化、讓數(shù)據(jù)更容易提取并處理、讓測(cè)試結(jié)果更凸顯。 靠譜的公司會(huì)在配套工具上下重金,或是在公司內(nèi)創(chuàng)立高效的團(tuán)隊(duì)去搭建工具,為研發(fā)工程師服務(wù)。工具團(tuán)隊(duì)如果掉了鏈子,研發(fā)團(tuán)隊(duì)的效率會(huì)受到直接影響。 歡迎大家閱讀《落地之路》,學(xué)習(xí)更多研發(fā)團(tuán)隊(duì)管理經(jīng)驗(yàn)。

責(zé)任編輯:xj

原文標(biāo)題:如何提升研發(fā)效率?Code質(zhì)量如何影響研發(fā)?

文章出處:【微信公眾號(hào):自動(dòng)駕駛說】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    54

    文章

    11039

    瀏覽量

    102449
  • Code
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    15345
  • 軟件工程師
    +關(guān)注

    關(guān)注

    8

    文章

    217

    瀏覽量

    21107

原文標(biāo)題:如何提升研發(fā)效率?Code質(zhì)量如何影響研發(fā)?

文章出處:【微信號(hào):zidongjiashishuo,微信公眾號(hào):自動(dòng)駕駛說】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何將CCS 3.x工程遷移至最新的Code Composer Studio? (CCS)

    電子發(fā)燒友網(wǎng)站提供《如何將CCS 3.x工程遷移至最新的Code Composer Studio? (CCS).pdf》資料免費(fèi)下載
    發(fā)表于 09-21 09:28 ?0次下載
    如何將CCS 3.x<b class='flag-5'>工程</b>遷移至最新的<b class='flag-5'>Code</b> Composer Studio? (CCS)

    如何使用Polyspace Code Prover來統(tǒng)計(jì)堆棧

    前一篇文章介紹了堆棧和內(nèi)存的一些背景知識(shí)。本次介紹如何使用 Polyspace Code Prover來統(tǒng)計(jì)堆棧,如何使用這些數(shù)據(jù)為軟件優(yōu)化服務(wù)。
    的頭像 發(fā)表于 07-25 14:06 ?346次閱讀
    如何使用Polyspace <b class='flag-5'>Code</b> Prover來統(tǒng)計(jì)堆棧

    一篇文章告訴你:射頻工程師的主要能力應(yīng)該是什么?

    手機(jī)射頻工程師的主要能力是什么,是匹配嗎?為什么N次的面試都糾結(jié)于史密斯和調(diào)匹配,這很重要嗎,我不這么認(rèn)為,因此我來說說我的看法ChrentVol.1首先自然是原理圖的設(shè)計(jì)能力。當(dāng)然,從無到有目前
    的頭像 發(fā)表于 06-20 08:27 ?229次閱讀
    一篇文章告訴你:射頻<b class='flag-5'>工程師</b>的主<b class='flag-5'>要能</b>力應(yīng)該是什么?

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    要求。 總的來說,嵌入式軟件工程師和嵌入式硬件工程師在工作中各有側(cè)重,相互依賴。嵌入式軟件工程師需要了解和適應(yīng)硬件限制,而嵌入式硬件工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識(shí) #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    Simplicity Studio 5擴(kuò)增功能支持以VS Code開發(fā)

    隨著SimplicityStudio 5 (SSv5) 5.6.0.0版本的發(fā)布,SiliconLabs(亦稱“芯科科技”)已經(jīng)引入了針對(duì)Visual Studio Code(VS Code)作為
    的頭像 發(fā)表于 01-29 10:34 ?778次閱讀
    Simplicity Studio 5擴(kuò)增功能支持以VS <b class='flag-5'>Code</b>開發(fā)

    code blocks怎么調(diào)試

    Code::Blocks是一個(gè)功能強(qiáng)大的集成開發(fā)環(huán)境(IDE),主要用于C和C++編程。調(diào)試是開發(fā)過程中不可或缺的一部分,可以幫助開發(fā)人員找到代碼中的錯(cuò)誤并進(jìn)行修復(fù)。Code::Blocks提供了
    的頭像 發(fā)表于 11-26 10:26 ?2058次閱讀

    Code Blocks設(shè)置語言的方法

    Code Blocks是一款開源的跨平臺(tái)集成開發(fā)環(huán)境(IDE),它支持多種編程語言,并提供了一些強(qiáng)大的功能和工具,使得代碼編寫和調(diào)試更加便捷和高效。其中一個(gè)重要的功能就是設(shè)置代碼塊的語言類型,以便
    的頭像 發(fā)表于 11-26 09:49 ?2523次閱讀

    硬件工程師需要了解主機(jī)廠的標(biāo)準(zhǔn)嗎?

    公司最近購買了GMW14082-2010通用汽車的標(biāo)準(zhǔn),要求硬件工程師進(jìn)行閱讀。我有點(diǎn)不清楚這個(gè)標(biāo)準(zhǔn)的作用對(duì)于我們來說有什么用,里面的內(nèi)容需要全部都掌握嗎?還是只要知道其中一些關(guān)鍵點(diǎn)就
    發(fā)表于 11-23 15:03

    MCUXpresso for VS Code保姆式教程免費(fèi)送!

    背景 NXP 在 2023 年 7 月 31 日正式發(fā)布了 MCUXpresso for VS Code? 插件,使得廣大的 VS Code 用戶可以在熟悉的代碼編輯環(huán)境中,快速開發(fā)基于 NXP
    的頭像 發(fā)表于 11-16 08:55 ?1120次閱讀
    MCUXpresso for VS <b class='flag-5'>Code</b>保姆式教程免費(fèi)送!

    FPGA工程師需要具備哪些技能?

    ,并進(jìn)行調(diào)試測(cè)試以確保其正確性、穩(wěn)定性、可靠性和可移植性。 因此,F(xiàn)PGA工程師需要有較強(qiáng)的設(shè)計(jì)思維和邏輯分析能力。他們需要能夠理解和應(yīng)用數(shù)學(xué)和物理學(xué)知識(shí),并解決各種實(shí)際問題。 二、硬件
    發(fā)表于 11-09 11:03

    在嵌入式中如何利用VS Code進(jìn)行遠(yuǎn)程開發(fā)呢?

    VS Code幾乎是所有的程序員必備的工具之一,據(jù)說全球一般的開發(fā)者都使用過VS Code這款工具。
    的頭像 發(fā)表于 11-07 09:27 ?665次閱讀
    在嵌入式中如何利用VS <b class='flag-5'>Code</b>進(jìn)行遠(yuǎn)程開發(fā)呢?

    Code V反轉(zhuǎn)鏡面及系統(tǒng)的方法

    在做鏡頭的分析或設(shè)計(jì)時(shí),有時(shí)會(huì)要反轉(zhuǎn)部份或者全部的鏡片,Code V提供了兩種滿足此需求的做法。
    的頭像 發(fā)表于 10-27 14:14 ?642次閱讀
    <b class='flag-5'>Code</b> V反轉(zhuǎn)鏡面及系統(tǒng)的方法