在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

代碼即注釋,注釋即代碼的概念是如何形成的

jf_GctfwYN7 ? 來源:芯時代青年 ? 2023-11-18 16:52 ? 次閱讀

"代碼即注釋,注釋即代碼"這個概念是如何形成的呢?記得之前看一些討論,程序員應該如何寫代碼的注釋,大家的意見很多,不過我只對兩句話記憶非常深刻:

(代碼)既然難寫,就應難讀。

代碼本身就是注釋。

根據這兩句話意見呢,我們的代碼本身并不需要太多的注釋內容。而應該盡可能的通過合理的模塊與函數劃分、明確的信號命名、清晰的邏輯表達來替代繁瑣的注釋說明,同時再借助比較完備的文檔進行代碼的傳接。更何況呢坊間一直有一句傳聞:代碼易,人可替(我剛編的哈哈哈),所以久而久之我就養成了不寫注釋的好習慣。

俗話說,程序員都有兩個最大的厭惡:一是別人不寫注釋,二是別人讓自己寫注釋。我估摸著哈,這都是和我一樣養成好習慣的盆友。不過不寫注釋偶爾也會帶來一些惡果,最典型的就是隔一個月半個月要改自己的祖傳代碼時,得把代碼從頭理一遍的痛苦。當然,代碼即注釋這句話不是本文的重點,重點是后面的注釋即代碼。

注釋即代碼的思想是怎么來的呢?來自于兩個對本奪命腳本師影響頗深的事情。一件是verilog-mode的使用,這個工具的介入直接讓困擾我多年的模塊例化與互連問題迎刃而解;另一件是前司開發的RTL檢查工具,借助注釋生成的檢查代碼節約了驗證大量的時間,因為我自己是驗證所以對此感受還是頗深的。腳本的目的無非是兩個,提高效率與提高質量,而以注釋生成代碼以小生多的思路,不僅大大的提升了工作的效率,也能夠保證生成代碼的高質量,畢竟人會出錯工具不會出錯(除非是我自己和工具沖突了,此時必是工具有bug╭(╯^╰)╮)。

那么在樹立了注釋即代碼的思想后,我就沿著這個方向進行了幾個腳本的開發。

第一個是名叫gen_link的腳本,看這個名字就知道這是模仿verilog-mode中的自動連線功能而開發的RTL例化與互連工具。為什么會重復造輪子呢?說來就比較曲折了,因為我不知道verilog-mode是開源的工具 ̄□ ̄||知道了這件事之后,我就轉而去研究了如何配置和使用該工具了,甚至還做了專欄。

第二個腳本是auto_assert,這個腳本和前司的借助注釋檢查代碼的工具思路是一致的,不過我在其中做了簡化和一些功能的補充。最終完成的腳本能夠支持如下的功能:

1.信號的不定態檢查

2.信號在使能時的不定態檢查

3.仿真過程中信號的取值檢查

4.仿真過程中使能時信號的取值檢查

5.仿真過程中信號取值覆蓋率分析

6.仿真結束時信號結束值檢查

然后我就發現了這個腳本的致命問題:這玩意會極大地增加設計的工作量!因為這個致命問題的存在,后面雖然我還對其進行了維護,但是一般不會在工作中使用了,就算用也只用最基礎的不定態檢查和結束值檢查功能。

第三個腳本是auto_unfold,這個腳本的功能是對代碼中的相似代碼進行循環展開,比如下面這種:

wKgZomVYe56ACfeNAAAZboLnnxc394.png

本來呢我以為這個是verilog-mode中的原生功能,后來才發現是前司內部自己開發的派生功能。然后我又沒有對其進行進一步開發的能力,那能怎么辦呢?只好借助python開發新的腳本然后嵌入到vim中了。

最后一個腳本是auto_dff,這個腳本我前幾天才寫好的,寫它的目的是啥呢?在前面的文章提到了dff例化風格代碼,在實踐的過程中就會發現一個問題,那就是每一個寄存器的例化和信號聲明寫起來也是挺煩的。在某一個進行進行批量寄存器替換的夜晚,我突然感覺寫這么多無效的寄存器代碼也非常的不能忍,所以開發了這個腳本:

wKgaomVYe6uAFPvdAABWDbv8I54182.png

但是說來非常的慚愧,寫完這個腳本后我就很久沒有開發代碼了,一直沒能好好的感受下效率提升的效果。

目前為止遵循“代碼即注釋,數值即代碼”思路開發的腳本就是這4個,以后再慢慢增加吧。

審核編輯:湯梓紅

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

    關注

    30

    文章

    4876

    瀏覽量

    69959
  • 腳本
    +關注

    關注

    1

    文章

    395

    瀏覽量

    28287
  • 注釋
    +關注

    關注

    0

    文章

    11

    瀏覽量

    6568

原文標題:IC學霸筆記 | 代碼即注釋,注釋即代碼

文章出處:【微信號:IC修真院,微信公眾號:IC修真院】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    麻煩問下keil選中代碼后快速注釋為何在代碼左邊出現注釋符號

    出現在左邊不就把代碼也都注釋掉了嗎,我想讓他出現在右邊這樣我寫注釋就不會把代碼注釋
    發表于 01-15 16:44

    44B0啟動代碼詳細注釋

    本內容提供了44B0啟動代碼的詳細注釋,希望對大家有用
    發表于 08-01 15:44 ?59次下載
    44B0啟動<b class='flag-5'>代碼</b>詳細<b class='flag-5'>注釋</b>

    如何在代碼中添加注釋

    什么是代碼注釋,如何在代碼中添加注釋,相信每一位了解編程的人并不陌生。注釋里往往有很多有趣的腦洞和「真心話」
    的頭像 發表于 10-17 10:53 ?1.1w次閱讀

    python基礎:如何注釋代碼

    ? ? ? 大家好,又到了每日學習的時間了,最近博主在和python打交道,今天我們來聊一聊python一些基礎的東西,如何注釋代碼塊。 ? ? ? ?前言 ? ? ? ?編寫python程序有時候
    的頭像 發表于 12-26 22:03 ?5705次閱讀
    python基礎:如何<b class='flag-5'>注釋</b><b class='flag-5'>代碼</b>塊

    用于代碼注釋生成的語法輔助機制設計

    現有代碼注釋生成方法的復制機制未考慮源代碼復雜多變的語法結構,導致存在準確率和魯棒性不高等問題。通過改進指針網絡使其支持結構化數據輸入,提出一種語法輔助復制機制,以用于代碼
    發表于 04-27 11:23 ?19次下載
    用于<b class='flag-5'>代碼</b><b class='flag-5'>注釋</b>生成的語法輔助機制設計

    JAVA連接Oracle數據庫實代碼+詳細注釋

    JAVA連接Oracle數據庫實代碼+詳細注釋(西工大現代電源技術考題)-該文檔為JAVA連接Oracle數據庫實代碼+詳細注釋簡介文檔,是一份還算不錯的參考文檔,感興趣的可以下載看看
    發表于 09-27 13:48 ?3次下載
    JAVA連接Oracle數據庫實<b class='flag-5'>代碼</b>+詳細<b class='flag-5'>注釋</b>

    嵌入式系統設計中的注釋和調試代碼

    使用 C++ 風格的//注釋符號——,將//放在每行的開頭——稍微好一點,但應用起來非常乏味,而且在刪除時也可能容易出錯。
    的頭像 發表于 06-20 16:04 ?1175次閱讀
    嵌入式系統設計中的<b class='flag-5'>注釋</b>和調試<b class='flag-5'>代碼</b>

    python代碼中使用HTTP代理IP,demo注釋清晰

    如何再python代碼中使用HTTP代理IP。 以下代碼主要圍繞第一次接觸HTTP代理IP的python新手來寫。(步驟注釋清晰) 直接把下面示例代碼中的HTTP代理API,替換成你后
    的頭像 發表于 08-04 15:40 ?1151次閱讀

    代碼編程規范之注釋風格

    注釋的原則是有助于對程序的閱讀理解以及提供二次開發所需文檔,注釋的方式有很多,但是業內常用的規范是 Doxygen 代碼注釋規范。遵循原則為,說明性文件、函數接口必須充分
    的頭像 發表于 02-15 15:01 ?2049次閱讀
    <b class='flag-5'>代碼</b>編程規范之<b class='flag-5'>注釋</b>風格

    C語言中如何實現注釋

    在C語言中,注釋是用來增加代碼可讀性和注釋過程和功能的文本。C語言中支持兩種類型的注釋:單行注釋和多行
    的頭像 發表于 11-22 10:17 ?1695次閱讀

    c語言怎么把代碼全部注釋

    要將C語言代碼全部注釋掉,不讓代碼被編譯和執行,可以使用注釋語句來實現。C語言提供兩種注釋方式
    的頭像 發表于 11-22 10:21 ?8380次閱讀

    devc怎么注釋掉一段代碼

    在DevC中,要注釋掉一段代碼,你可以使用注釋符號來標記這段代碼注釋符號的作用是告訴編譯器不要編譯這些
    的頭像 發表于 11-22 10:23 ?3038次閱讀

    c++多行注釋快捷鍵

    在C++中,多行注釋(也稱為塊注釋)是一種用于注釋大段代碼或多個語句的方法。當你希望暫時禁用一些代碼或者解釋特定部分
    的頭像 發表于 11-22 10:24 ?9186次閱讀

    vs中如何快速注釋多行代碼

    在VS中,快速注釋多行代碼可以通過以下幾種方法實現。我將詳細介紹每種方法的步驟和應用場景。 方法一:塊注釋注釋是一種常見的注釋多行
    的頭像 發表于 11-22 10:26 ?1.8w次閱讀

    java中的注釋有三類分別是

    在Java編程語言中,注釋是非常重要的一部分,它們提供了對代碼的解釋和說明。注釋可以幫助開發人員更好地理解代碼,使代碼更易于維護和理解。在J
    的頭像 發表于 11-28 16:47 ?1498次閱讀
    主站蜘蛛池模板: 五月婷婷在线观看视频 | 狠狠做深爱婷婷综合一区 | 偷偷要色偷偷 | 色视频在线看 | 成人区精品一区二区毛片不卡 | 国产精品影视 | 亚洲一区二区视频 | 久久婷婷五综合一区二区 | 免费一级大片 | 高清午夜线观看免费 | 亚洲免费视频在线观看 | 老色鬼久久综合第一 | 台湾香港澳门三级在线 | 好男人午夜www视频在线观看 | 色中文字幕在线 | 美女被啪到哭网站在线观看 | 国产综合色精品一区二区三区 | bt天堂在线观看 | 男男失禁play 把尿bl | 久久久久免费精品国产小说 | 国产成人精品日本 | 麻豆蜜桃 | 狠狠的日视频 | 久久这里只有精品免费视频 | 高h水果榨汁play男男 | 奇米视频在线观看 | 国产在线啪 | 成人国产一区 | ts在线视频 | 骚淫| 成年大片免费播放视频人 | 国产美女视频一区二区二三区 | 精品国产中文一级毛片在线看 | 黄色毛片免费进入 | 玖玖玖精品视频免费播放 | 丝袜美腿视频一区二区三区 | 日本亚洲精品色婷婷在线影院 | 狠狠色噜噜狠狠狠狠97影音先锋 | 欧美成人生活片 | 三级黄色短视频 | 天天拍天天操 |