色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

《代碼的藝術》觀后感

芯片驗證日記 ? 來源:芯片驗證日記 ? 作者:芯片驗證日記 ? 2023-01-28 21:51 ? 次閱讀

前段時間聽了百度技術培訓中心章淼博士講的《代碼的藝術》直播課,章老師是業界大牛,課講得娓娓道來,內容很豐富,很多點都戳到了我以前或現在的痛點,也激發了自己很多反思,總之收獲很多,現在簡單總結一下,主要分以下幾點吧。

1.文檔:

關于文檔,很多工程師最討厭兩點:沒有文檔和自己寫文檔。我以前對文檔也有很深的誤解,比如經常覺得寫文檔有點兒浪費時間,總覺得碼代碼和Debug才更能顯示出一名工程師的能力和價值。這其實是一個嚴重的錯誤。文檔的重要性被嚴重低估了。

1.1 項目文檔的重要性

(1) 文檔的目的:提高溝通效率;提升對“思考過程”的管理。(2) 項目中超過50%的時間用于溝通,溝通的方式:口頭,文檔,代碼。(3) 沒有文檔的設計不是設計。(4) 不會寫文檔 = 不會做設計。(5) 文檔本身也是產出:coding的時間少于30%。(6) 寫文檔是整理思路的過程。(7) 沒有文檔,后期會浪費更多的時間,維護成本遠高于寫文檔的時間。

(8) 修改文檔,比修改代碼的成本小的多。

(9) 沒寫文檔,就開始寫code,是極其錯誤的。

(10)簡單的項目和問題,也需要寫文檔:項目的延續時間和復雜性往往超出預期;早期的“偷懶”,往往在后期付出更大的代價。

1.2 常見的問題:

(1) 沒有接口文檔:多人協作出現問題。(2) 需求文檔沒寫好:多次反復討論同樣的問題。(3) 沒有系統總體架構文檔:每一個人都需要重新看代碼,還不一定能看清。(4) 缺少文檔:新人無從入手;人員變動時,不好交接;團隊內溝通效率很低;自己過兩個月后,痛苦的回憶之前的思路。

1.3 什么時候需要寫文檔?

(1) 必須的文檔:需求設計文檔:需求,重點,取舍過程;接口文檔:函數,參數,返回值;關鍵性的算法文檔:思路,關鍵點;系統總體框架:全局的思路。(2) 凡是不那么“顯而易見”的地方。(3) 不僅留下設計結果(what),也留下思考過程(why):留下決策的依據,便于后面的工作。(4) 文檔不是寫完代碼后補出來的:文檔是設計過程中使用的工具、和設計過程的結果。

1.4 文檔書寫規范

關于書寫規范,每家公司的要求都不太一樣,大家遵守就好。國內芯片行業在文檔這方面做的最好的應該就是海思了,我個人覺得海思芯片的成功,跟他的文檔和管理密不可分。

2. 項目管理

項目管理是另一個被忽視的重要的問題。引用《軟件開發的201個原則》中的一句話,所有偉大的技術(CASE工具、技術、計算機、文字處理器等)都彌補不了拙劣的管理。好的管理,即使是在資源匱乏的情況下,也能產生巨大的效果。事實上,懂項目管理的工程師特別少。每一位工程師其實都是管理者(做好自己的管理),所有的工程師都應該懂項目管理。

2.1 原則:質量第一

質量必須放在首位,沒有權衡的余地。無論如何定義質量,客戶都不會容忍低質量的產品。質量必須量化,并建立可實施落地的機制,以促進和激勵質量目標的達成。即使質量差、也按時交付產品,這似乎是政治正確的行為,但這是短視的。從中長期來看,這樣做是自殺。

2.2 項目三要素的權衡

鎖定1-2個要素,改變其他要素。人和月不能簡單互換。

pYYBAGPVJ1eAcIbGAADD5R7Embs069.png

2.3 項目規劃

(1) 明確項目約束(質量、范圍、時間、成本),做出取舍。(2) 制定項目里程碑計劃,和相關方達成一致。(3) 分配任務并制定進度表:梳理關鍵任務;搞清關鍵任務間的依賴關系;識別項目的關鍵路徑。

2.4 項目周報和個人周報

(1) 做好下周計劃,抓住重點。(2) 每周對照計劃,即使有變化,也應努力按計劃執行。(3) 反映工作量,周報首先是給自己看的。(4) 周報需要目標和計劃,也需要回顧和總結。

3. 代碼的藝術

代碼反映了一個人/團隊的精神面貌。一個優秀的工程師應該具有很高的綜合素質。編碼能力只是表象,不僅要懂驗證,還要懂腳本,懂運維,懂設計、懂架構,懂產品。真正優秀的工程師任何時候都是稀缺的。

3.1 Coding is NOT so easy

(1) Coding的過程是:從無序變為有序;將現實世界中的問題轉化為數字世界的模型;一個認識的過程(從未知變為已知)。(2) Coding的過程中,需要把握問題的能力;建立模型的能力;溝通協作的能力;編碼執行的能力。(3) 寫好代碼首先需要建立品味

3.2 一流代碼的特性

poYBAGPVJ4yAPHb8AAK7c__v_Ag275.png

3.3 代碼也是一種表達方式

代碼主要是寫給人看的,不是寫給機器看的,代碼的維護成本遠高于開發成本。理想的場景:看別人的代碼感覺和看自己的代碼一樣;看代碼時能夠專注于邏輯,而不是格式方面;Don’t make me think。

3.4 模塊切分的原則

緊內聚,松耦合,有利于代碼的復用:單一目的;明確對外接口;以數據為中心。

3.5 切分模塊的方法

(1) 數據類模塊(實現對數據的封裝)。(2) 過程類模塊(不包含數據)。

3.6 數據類模塊

(1) 主要完成數據封裝:模塊內部變量;類的內部變量。(2) 對外提供明確的數據訪問接口:數據結構和算法屬于模塊內部工作。(3) 寫程序要以數據為中心考慮:首先考慮有哪些數據類的模塊。

3.7過程類模塊

(1) 本身不含數據。(2) 調用“數據類模塊”或“過程類模塊”。

4. 代碼的評審(Code Review)

定義:通過閱讀代碼來檢查源代碼與編碼標準的符合性以及代碼質量的活動。在編寫代碼之外,代碼評審和單元測試是兩個最重要的工作。

4.1 代碼評審的重要意義

(1) 提升代碼質量:code review是提升代碼質量最重要的方法。(2) 有助于知識傳遞:code review是輔導他人編碼最好的方法。

4.2 代碼質量差造成的問題

(1) 重復編寫類似的邏輯,缺少可復用的代碼。(2) 定位bug和修復bug。(3) 代碼的可讀性差,閱讀代碼困難,費時。(4) 踩坑/填坑,挖坑容易,從坑里爬出來難。(5) 重構也需要時間。(6) 無休止的加班的源泉。(7) 職業危機,生存困境。

4.3 代碼評審中的常見問題

(1) 拼寫錯誤。(2) 未優化的代碼實現。(3) 不必要的復雜代碼。(4) 重復實現已經存在的邏輯。

(5) 缺少必要的注釋。

(6) 缺少必要的單元測試。

(7) 。。。。。

4.4 在代碼評審中應有的態度

(1) 對所審代碼完全看懂:yes:掌握情況就像自己寫的一樣;no: 對代碼邏輯和背后的原因任很模糊。(2) 不僅可以運行:優秀代碼的標準:正確,可維護,可重用,可運維。google的標準:差一個空格也不行。(3) 評審和編碼一樣重要:評審也有產出:更高質量的代碼;評審比編碼更辛苦:理解&找出問題。(4) 以提升代碼質量為最終目標:評審雙方共同努力。

4.5 代碼評審的步驟

(1) 推薦方式:自頂向下,對代碼進行全面掃描。(2) step1:系統全貌:模塊劃分的邏輯,模塊間的關系。(3) step2:模塊級別:看清模塊內的邏輯;關鍵數據,關鍵的類/函數(重點:功能,接口定義)。(4) step3:類/函數的內部邏輯:邏輯正確性,實現合理性,段落劃分合理性。

4.6 關于壞代碼的簡單判斷

(1) 如果5分鐘內不能看懂的代碼,大概率有問題。(2) 需要思考才能看懂的代碼:好的代碼:Don’t make me think。(3) 需要來回翻屏才能看懂得代碼:好的代碼:在一屏內就是完整的邏輯。(4) 沒有空行/注釋的代碼:不會用段落,不會寫注釋,肯定不是好的程序員。

4.7 代碼評審的注意事項

(1) 建立ower制度:所有提交的代碼,必須由ower做最終確認;很多問題來源于“責任不明確”。(2) 綜合多種溝通機制:yes:面對面的溝通;提供設計文檔;提交代碼評審評論;no: 直接大規模評審會;僅口頭溝通。(3) 不放過任何一行代碼:問題:只看大問題,不管小問題;推薦:對評審中發現的問題,一追到底。

5 技術的心法

5.1 如何發現問題

(1) 問題的發現常常需要經驗,尤其是方向的指出。(2) 寫綜述(survey),是一個很好的鍛煉方法。(3) 從自己的親身體會去發現問題。

(4) 要有挑戰權威的精神,別人說的不一定是對的。

(5) 一定不要有“想當然”的思想,書本上的不一定是正確的。

(6) 沒有任何事情是完美的,實際工程中經常做“trade off”。

5.2 如何分析問題

(1) 概念(磚塊):問題首先要有準確定義(正名);概念是大家的共識,是進行科學交流的基礎;在搞清概念的過程中,也能發現機會。(2) 邏輯(水泥):分析問題應言之有理,讓人信服。(3) 分而治之:大問題(無從下手)=>小問題(能夠處理);細分和專業化是人類社會發展的趨勢。(4) 分類和比較:在過程中加深認識。(5) 注意聯系:問題之間的聯系也包含信息;揭示事物之間的聯系也很有意義。

5.3 如何解決問題

(1) 先解決重要問題:精力有限:不可能徹底解決所有問題;列出問題,然后再排序。(2) 保持聚焦:在一定的階段,要keep focus。(3) 先易后難:解決簡單問題=>解決復雜問題;模型方法:對問題進行簡化

(4) 一般的過程:發現問題,分析問題,解決問題。

一流高手提問題,二流高手解問題,三流高手炒問題(炒冷飯)最后的最后,好好學習,天天向上,行勝于言,與君共勉。

感謝關注微信公眾號“芯片驗證日記”,我們一起學習。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7006

    瀏覽量

    88955
  • 代碼
    +關注

    關注

    30

    文章

    4780

    瀏覽量

    68539
收藏 人收藏

    評論

    相關推薦

    大話芯片制造之讀后

    收到《大話芯片制造》這本書有一周了,現在寫第二篇讀后! 我也看了朋友們寫的讀后,給我耳目一新的感覺,從頭到尾,圖文并茂解釋很到位!其中感覺芯片制造過程,就像在針尖上跳舞,難度系數無法理解!來,上圖片看看!
    發表于 12-21 21:42

    Java代碼之美,從遵循樣式規范開始

    至關重要。本文將帶你探索Java代碼的美學,揭示那些能夠讓你的代碼既美觀又高效的樣式規范。無論是初出茅廬的新手還是經驗豐富的老手,都能從中獲得靈感,提升編碼的藝術。 一、為什么要代碼
    的頭像 發表于 11-27 11:42 ?185次閱讀
    Java<b class='flag-5'>代碼</b>之美,從遵循樣式規范開始

    溫元件有哪些 溫傳感器的工作原理是什么

    溫元件和溫傳感器在溫度測量和控制中起著至關重要的作用。下面將介紹幾種常見的溫元件以及溫傳感器的工作原理。 一、溫元件
    的頭像 發表于 10-06 16:26 ?799次閱讀

    有點科技

    金屬外殼+壓力傳感器,好有科技,一定要體驗體驗!
    發表于 09-13 22:26

    如何解決電感的漏問題

    電子發燒友網站提供《如何解決電感的漏問題.docx》資料免費下載
    發表于 09-02 14:48 ?0次下載

    和金晨一起感受三星電視的“六”魅力,開啟神愈之旅!

    近日,三星“六之神”電視戰略發布會成功舉行。三星電視憑借在音畫質、設計、安全性、智能與可持續等領域的全方位技術優勢賦能視覺顯示產品,為用戶帶來了多元沉浸式視聽娛樂享受,并通過與藝術家合作打造六大
    的頭像 發表于 08-23 14:30 ?550次閱讀

    以全方位優勢塑造未來家居生活愿景:三星“六之神”電視戰略發布會盛啟

    科技和藝術的融合,為用戶帶來了多元沉浸式視聽娛樂享受,并通過六大功能展示區帶來超凡的治愈。以先進產品和創新解決方案引領行業發展潮流的同時,讓家居藝術渲染力為公共城市空間注入能量,呈現出具有科技力、創新力與生命力的未來家居生活形
    的頭像 發表于 08-20 15:27 ?590次閱讀

    TDC1011面向液位測、濃度測應用的單通道超聲波測模擬前端(AFE)數據表

    電子發燒友網站提供《TDC1011面向液位測、濃度測應用的單通道超聲波測模擬前端(AFE)數據表.pdf》資料免費下載
    發表于 08-15 09:48 ?0次下載
    TDC1011面向液位<b class='flag-5'>感</b>測、濃度<b class='flag-5'>感</b>測應用的單通道超聲波<b class='flag-5'>感</b>測模擬前端(AFE)數據表

    TDC1011-Q1面向液位測、濃度測應用的單通道超聲波測模擬前端(AFE)數據表

    電子發燒友網站提供《TDC1011-Q1面向液位測、濃度測應用的單通道超聲波測模擬前端(AFE)數據表.pdf》資料免費下載
    發表于 08-15 09:47 ?0次下載
    TDC1011-Q1面向液位<b class='flag-5'>感</b>測、濃度<b class='flag-5'>感</b>測應用的單通道超聲波<b class='flag-5'>感</b>測模擬前端(AFE)數據表

    京東方頂尖顯示技術產品閃耀法國裝飾藝術博物館

    ,BOE(京東方)作為該展項的顯示技術合作伙伴,通過畫屏、萬境屏、大尺寸8K超高清顯示屏等一系列頂尖顯示技術產品為中外觀眾帶來一場極具沉浸、互動性的傳統文化影像藝術級視覺盛宴,在2024夏季頂級體育盛會舉辦前期,向全世界呈現中國千年的燦爛文化和最前衛的當代
    的頭像 發表于 07-19 09:31 ?552次閱讀

    TCL推出第三代藝術電視A300系列

    7月17日,TCL隆重推出了其第三代藝術電視A300系列,該系列以融合前沿科技與藝術創作為核心亮點,特別引入了Ai繪畫大模型技術,用戶僅需簡單設定三個關鍵詞,系統便能在短短3秒內自動生成一幅個性化的藝術畫作,展現了科技與
    的頭像 發表于 07-18 16:36 ?571次閱讀

    燧原科技助力天津美術學院共探人工智能藝術設計未來

    ? ? ? ? 近日,天津美術學院設計藝術學院(簡稱:天美設計藝術學院)隆重舉行了“AIGC人工智能設計產教融合研究中心”的揭牌儀式。該中心的成立標志著以上海燧原科技股份有限公司(簡稱:燧
    的頭像 發表于 06-24 16:58 ?924次閱讀

    AIGC是什么?對藝術設計學、視覺傳達設計、數字媒體藝術等專業的影響

    的方方面面。AIGC通過利用先進的算法和模型,能夠自動生成各種形式的內容,如圖像、文本、音頻和視頻等,極大地豐富了內容的創作和呈現方式。對于藝術設計學、視覺傳達設計、數字媒體藝術等專業而言,AIGC的崛起無疑帶來了深遠的影響。 AIGC是什么 AIGC是人工智能技術與內容
    的頭像 發表于 06-24 13:40 ?878次閱讀

    考勤是什么意思

    考勤的含義及應用1.無考勤的基本概念無考勤是一種新興的考勤方式,它通過自動化和人工智能技術,實現對員工出勤情況的自動記錄和統計,省去了傳統考勤的繁瑣步驟,提高了工作效率。具體來說,無
    的頭像 發表于 05-17 10:59 ?751次閱讀
    無<b class='flag-5'>感</b>考勤是什么意思

    【換道賽車:新能源汽車的中國道路 | 閱讀體驗】 A 序

    怎樣的影響? 國內外汽車企業的發展歷程和經驗教訓帶給我們怎樣的思考? 我國新能源汽車為什么能夠實現突破從而領先世界? 我國新能源汽車產業未來提升的最大瓶頸和障礙是什么? 希望這樣的探討對讀者有所啟發。 接下來將用2篇觀后感來分別解答這幾個問題,以及最后一篇整體觀感。
    發表于 03-12 23:05
    主站蜘蛛池模板: 色在线视频亚洲欧美| 美女伊人网| 久久综合久久伊人| 老司机午夜影院味味| 欧美精品九九99久久在观看| 人与禽物videos另类| 失禁h啪肉尿出来高h| 亚洲国产在线精品第二剧情不卡| 亚洲欧美偷拍视频一区| 中文字幕在线不卡精品视频99| a一级一片免费观看视频| 夫外出被公侵犯日本电影| 国产色婷婷亚洲99精品| 久久精品综合电影| 欧美午夜精品一区二区蜜桃| 四虎亚洲中文字幕永久在线| 一本色道久久综合亚洲精品加 | 手机在线免费| 亚洲精品成人a| 91九色麻豆| 国产第一页浮力影院| 久久高清内射无套| 秋霞电影院兔费理论观频84mb| 羞羞影院男女爽爽影院尤物| 最新亚洲人成网站在线影院| 动漫美女3d被爆漫画| 九九99亚洲精品久久久久| 欧美兽交YOYO| 亚洲男人天堂网| 99热久久爱五月天婷婷| 国产日韩精品一区二区在线观看| 久久视频精品38在线播放| 色人格影院第四色| 真人美女精美小穴| 国产AV国产精品国产三级在线L| 久久亚洲伊人中字综合精品| 色悠久久久久综合欧美99| 在线观看成年人免费视频| 高清一区二区亚洲欧美日韩| 看全色黄大色大片免费久黄久| 色午夜日本高清视频www|