簡體   English   中英

是否有針對主要/進入類及其超類的命名約定?

[英]Are there any naming conventions for primary/entrant classes and their super classes?

我有一個關於C#中的命名約定的問題,我認為以前的大多數問題或MSDN命名指南之類的常用資源都沒有涵蓋我。 現有的大多數命名約定都集中在框架和其他類將要使用的東西上。 這可能有所不同。

您如何命名Main()所在的類? 它與它的超類有什么關系?

假設您是一個剛起步的程序員,並且創建了一個類似於此站點的小型應用程序。 您可能會做這樣的事情。

// the title of the class happens to be the title of the project

namespace FogCreek {
  public class StackOverflow {
    public static Main() { ... }
  }
}

但是隨后,您決定隨着您的成長重構內部空間,並創建更多Stack網站,每個網站都使用自己的名稱空間。

namespace FogCreek.StackSites.StackOverflow {
  public class WhatDoICallThis : StackExchangeSite {
    public static Main() { ... }
  }
}

// elsewhere in another project...

namespace FogCreek {
  public class StackExchangeSite {
    ...
  }
}

我猶豫稱它為StackOverflow,因為它的全名是FogCreek.StackSites.StackOverflow.StackOverflow。 有點多余嗎?

另外,StackExchangeSite是否應該在FogCreek中自己的名稱空間中? 還是應該“高於”從中衍生的項目?

Company.Foobar.Widget
-> Company.Foobar.Widget.RoundWidget
-> Company.Foobar.Widget.SquareWidget

vs

Company.Foobar.Widget.BaseWidget
-> Company.Foobar.Widget.RoundWidget
-> Company.Foobar.Widget.SquareWidget

我不贊成第二種選擇,因為我不記得任何使用“ Base”一詞的可擴展類。

我認為您應該寧願保留它(通常稱為Program ),而寧願繼承而不是繼承

入口點是一個靜態方法,因此絕對沒有理由創建一個涉及擁有Main方法的類的繼承樹。

暫無
暫無

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

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