[英]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.