亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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ù)劃分、明確的信號(hào)命名、清晰的邏輯表達(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.信號(hào)的不定態(tài)檢查

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

3.仿真過程中信號(hào)的取值檢查

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

5.仿真過程中信號(hào)取值覆蓋率分析

6.仿真結(jié)束時(shí)信號(hào)結(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è)寄存器的例化和信號(hào)聲明寫起來也是挺煩的。在某一個(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

    文章

    4927

    瀏覽量

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

    關(guān)注

    1

    文章

    406

    瀏覽量

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

    關(guān)注

    0

    文章

    11

    瀏覽量

    6659

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    出現(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 ?5997次閱讀
    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)格的//注釋符號(hào)——,將//放在每行的開頭——稍微好一點(diǎn),但應(yīng)用起來非常乏味,而且在刪除時(shí)也可能容易出錯(cuò)。
    的頭像 發(fā)表于 06-20 16:04 ?1406次閱讀
    嵌入式系統(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 ?1450次閱讀

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

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

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

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

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

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

    devc怎么注釋掉一段代碼

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

    c++多行注釋快捷鍵

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

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

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

    java中的注釋有三類分別是

    在Java編程語言中,注釋是非常重要的一部分,它們提供了對代碼的解釋和說明。注釋可以幫助開發(fā)人員更好地理解代碼,使代碼更易于維護(hù)和理解。在J
    的頭像 發(fā)表于 11-28 16:47 ?1867次閱讀