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

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

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

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

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

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

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

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

代碼本身就是注釋。

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

俗話說,程序員都有兩個(gè)最大的厭惡:一是別人不寫注釋,二是別人讓自己寫注釋。我估摸著哈,這都是和我一樣養(yǎng)成好習(xí)慣的盆友。不過不寫注釋偶爾也會(huì)帶來一些惡果,最典型的就是隔一個(gè)月半個(gè)月要改自己的祖?zhèn)鞔a時(shí),得把代碼從頭理一遍的痛苦。當(dāng)然,代碼即注釋這句話不是本文的重點(diǎn),重點(diǎn)是后面的注釋即代碼。

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

那么在樹立了注釋即代碼的思想后,我就沿著這個(gè)方向進(jìn)行了幾個(gè)腳本的開發(fā)。

第一個(gè)是名叫g(shù)en_link的腳本,看這個(gè)名字就知道這是模仿verilog-mode中的自動(dòng)連線功能而開發(fā)的RTL例化與互連工具。為什么會(huì)重復(fù)造輪子呢?說來就比較曲折了,因?yàn)槲也恢纕erilog-mode是開源的工具 ̄□ ̄||知道了這件事之后,我就轉(zhuǎn)而去研究了如何配置和使用該工具了,甚至還做了專欄。

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

1.信號的不定態(tài)檢查

2.信號在使能時(shí)的不定態(tài)檢查

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

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

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

6.仿真結(jié)束時(shí)信號結(jié)束值檢查

然后我就發(fā)現(xiàn)了這個(gè)腳本的致命問題:這玩意會(huì)極大地增加設(shè)計(jì)的工作量!因?yàn)檫@個(gè)致命問題的存在,后面雖然我還對其進(jìn)行了維護(hù),但是一般不會(huì)在工作中使用了,就算用也只用最基礎(chǔ)的不定態(tài)檢查和結(jié)束值檢查功能。

第三個(gè)腳本是auto_unfold,這個(gè)腳本的功能是對代碼中的相似代碼進(jìn)行循環(huán)展開,比如下面這種:

wKgZomVYe56ACfeNAAAZboLnnxc394.png

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

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

wKgaomVYe6uAFPvdAABWDbv8I54182.png

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

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

審核編輯:湯梓紅

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

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68616
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    389

    瀏覽量

    14866
  • 注釋
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6530

原文標(biāo)題:IC學(xué)霸筆記 | 代碼即注釋,注釋即代碼

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    44B0啟動(dòng)代碼詳細(xì)注釋

    本內(nèi)容提供了44B0啟動(dòng)代碼的詳細(xì)注釋,希望對大家有用
    發(fā)表于 08-01 15:44 ?59次下載
    44B0啟動(dòng)<b class='flag-5'>代碼</b>詳細(xì)<b class='flag-5'>注釋</b>

    如何在代碼中添加注釋

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

    python基礎(chǔ):如何注釋代碼

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

    用于代碼注釋生成的語法輔助機(jī)制設(shè)計(jì)

    現(xiàn)有代碼注釋生成方法的復(fù)制機(jī)制未考慮源代碼復(fù)雜多變的語法結(jié)構(gòu),導(dǎo)致存在準(zhǔn)確率和魯棒性不高等問題。通過改進(jìn)指針網(wǎng)絡(luò)使其支持結(jié)構(gòu)化數(shù)據(jù)輸入,提出一種語法輔助復(fù)制機(jī)制,以用于代碼
    發(fā)表于 04-27 11:23 ?19次下載
    用于<b class='flag-5'>代碼</b><b class='flag-5'>注釋</b>生成的語法輔助機(jī)制設(shè)計(jì)

    JAVA連接Oracle數(shù)據(jù)庫實(shí)代碼+詳細(xì)注釋

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

    嵌入式系統(tǒng)設(shè)計(jì)中的注釋和調(diào)試代碼

    使用 C++ 風(fēng)格的//注釋符號——,將//放在每行的開頭——稍微好一點(diǎn),但應(yīng)用起來非常乏味,而且在刪除時(shí)也可能容易出錯(cuò)。
    的頭像 發(fā)表于 06-20 16:04 ?1070次閱讀
    嵌入式系統(tǒng)設(shè)計(jì)中的<b class='flag-5'>注釋</b>和調(diào)試<b class='flag-5'>代碼</b>

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

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

    代碼編程規(guī)范之注釋風(fēng)格

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

    C語言中如何實(shí)現(xiàn)注釋

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

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

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

    devc怎么注釋掉一段代碼

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

    c++多行注釋快捷鍵

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

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

    在VS中,快速注釋多行代碼可以通過以下幾種方法實(shí)現(xiàn)。我將詳細(xì)介紹每種方法的步驟和應(yīng)用場景。 方法一:塊注釋注釋是一種常見的注釋多行
    的頭像 發(fā)表于 11-22 10:26 ?1.6w次閱讀

    java中的注釋有三類分別是

    在Java編程語言中,注釋是非常重要的一部分,它們提供了對代碼的解釋和說明。注釋可以幫助開發(fā)人員更好地理解代碼,使代碼更易于維護(hù)和理解。在J
    的頭像 發(fā)表于 11-28 16:47 ?1241次閱讀
    主站蜘蛛池模板: 天天好b| 国产精品无码永久免费888| 福利视频自拍偷拍| 国产成人精品曰本亚洲78| 三级理论在线观看| 都市激情亚洲| 日本视频h| 在线免费视频| 免费鲁丝片一级观看| 毛片2016免费视频| 美女一级毛片毛片在线播放| 台湾av| 老师办公室高h文小说| 男人天堂网www| 免费看欧美一级特黄α大片| 国语对白一区二区三区| 久久骚| www.日日爱| 四虎影在永久地址在线观看| 岛国一级毛片| 91夫妻视频| 在线a免费观看最新网站| 黄色视屏免费看| 国产福利影视| 台湾佬自偷自拍情侣在线| 亚洲精品午夜久久aaa级久久久| 69pao强力打造在线| 日本天天色| 欧美深夜福利| 男女视频免费观看| 狠狠狠色丁香婷婷综合久久88| 天天av天天翘天天综合网| 国产高清在线精品一区| 国产网站在线播放| xxxx人成高清免费图片| 欧美freesex交| 国产伦一区二区三区免费| 上课被同桌摸下面做羞羞 | 日本免费一区视频| 黄色网址在线免费观看| caoporn成人免费公开|