簡體   English   中英

C#關於結束{}的評論

[英]C# comments on closing {}

我一直在使用DevExpress CodeRush和Refactor! 在本周的Pro中,我選擇了一個注釋程序插件,該插件將在您鍵入代碼時自動生成注釋。

我不想談談挑選基本含義(實際上很好)的工作有多么出色,但是它的默認實現確實引發了一個問題。

默認情況下,輸入}字符以關閉塊將導致插件添加如下注釋。

using(MyType myType = new MyType())
{
    myType.doWork();
} // using

(即,在打開括號的地方添加注釋。)

雖然我可以看到在某些情況下此行為可能很有用,但我覺得結果代碼看起來很雜亂,並帶有所有其他注釋。

我想知道其他人對這種評論的看法。 不僅從學術的角度來看,而且如果我對它們有很多負面評論,我可以決定是將其強加給我的同事還是將其剔除。

我認為像這樣的注釋是沒有用的,除非代碼很糟糕。 使用正確的代碼格式,不難發現塊在哪里開始以及塊在哪里結束,因為通常這些塊是縮進的。

編輯:如果一個過程太大,以至於不知道哪個代碼塊被大括號關閉,那么無論如何應該已經有更多描述性的注釋來描述該過程,而這些注釋只會很混亂。

我發現一個從代碼生成注釋的插件的想法相當無用。 如果機器可以推斷出它,那么任何閱讀它的人也可以推斷出它。 這些評論極有可能是完全多余的。

我覺得這些大括號的注釋是亂七八糟的,如果個人需要,它可以提供更好地由IDE直接提供的信息。

IMO不需要任何描述代碼已經告訴您的注釋。

如果您確實有太長的代碼塊,那么您必須滾動很多才能看到那里的代碼,然后開始做錯了什么,因此可以考慮拆分代碼。

不良的不良注釋樣式-它在代碼庫中引入了維護開銷。

我認識過一些前VB編碼人員,他們發現C語法代碼中}的痕跡令人困惑,但是在這種情況下,真正的解決方法是重構代碼,以防止深度嵌套和過長的功能和/或代碼塊。

如果using塊擴展到IDE中的頁面上,可能會很有用,但是您還有其他問題需要擔心。 在這種情況下,我可以通過適當的縮進來實現,並且選擇一個IDE時,IDE會突出顯示匹配的花括號。

我通常會對此表示反對,但是如果您不能避免長時間使用,則可以使用。

有時您會得到非常大的代碼塊,或者將許多嵌套的塊放在一起。 在這種情況下,有時我會使用這種風格,但絕對不是一直如此。 我也不將其限制為代碼:HTML可以從這種“關閉注釋”樣式中受益匪淺:

<div id="content">
    <div id="columns">
        <div class="column">

            <!-- .. snip a lot of lines .. -->

        </div> <!-- .column -->
    </div> <!-- #columns -->
</div> <!-- #content -->

此類注釋僅對具有許多嵌套塊的非常長的代碼塊有用。 但這並不是說,首先應該是這樣,因為許多嵌套塊和長方法都需要進行重構。 所以我根本不喜歡這樣,因為讀者顯然可以看到它是什么代碼塊。

我認為,IDE功能比注釋更有用,它不僅可以突出顯示匹配的花括號對,還可以在工具提示上顯示打開行,因此,如果在示例中將鼠標懸停在右花括號上,它將出現“工具提示中的MyType myType = new MyType())”。

這將使您能夠輕松理解大型功能的復雜嵌套括號,而無需提供持續的視覺混亂。

我總是覺得記住這一點很有用...

清除,寫得很好的代碼將提供足夠的什么樣的代碼是做一個稱職的程序員解釋把它撿起來。

代碼中應留有注釋,以解釋代碼為什么這樣做!

換句話說,使用意見,以幫助你的代碼的讀者理解算法,或什么的代碼應該實現 ,而不是它是如何實現它!

您可能想看看Jeff Atwood的這篇文章

不要這樣做,如果在整個地方使用它,只會增加噪音,此外,適當的縮進還應解決可讀性問題。

我會保持關閉狀態。 當您有多個以相同位置結尾的塊(較長或較短的塊)時,我只會看到使用它的要點-在這種情況下,我自己使用了它們。 但是,如果使用它們,最好是在精心選擇的位置手動添加它們,而不是使用一些自動工具添加它們。

如果您必須考慮某種類型的評論是否可用,則很可能是后者。

注釋用於解釋某些代碼塊或整個實體,以簡化理解。 不要使格式更易於閱讀。

擁有始終符合這種行為的插件既肥胖又丑陋。

我同意,有更好的方法來描述代碼在做什么。

如果您的代碼很長,並且前面有一個信息豐富的注釋,例如// Fix Work Item,則可以將該代碼作為自己的方法進行重構。 然后使用注釋作為新方法的名稱FixWorkItem()。 這樣做是使您的代碼更具自記錄性的快速方法,甚至可以揭示一些您以前沒有注意到的設計特征。

密切注意諸如此類的單行注釋,這些注釋可能會被IDE自動處理。 記錄自身的代碼甚至比最佳書寫的獨立注釋要好,當然在描述意圖時也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM