2016-06-23 74 views
-1

我应该创建一个公共静态类还是使用内部常量? 我工作的一个非常大的应用程序,并注意到在众多places.This使用常量字符串被用来比较的用户选择public static class或const

const string Thatch = "Thatch"; 
const string BrickAndTimberFrame= "Brick And Timber Frame"; 
const string OtherRoof = "Other"; 
etc...... 
etc...... 

我想要做的是在核心而建立公共静态类申请(见代码)。原因是我只需要在一个地方更改/添加一个值。然后

public static class RoofConstruction 
{ 
    public static String Thatch{ get { return "Thatch"; } } 
    public static String BrickAndTimberFrame { get { return "Brick And Timber Frame"; } } 
    etc.... 
    etc.... 
} 

比较功能看起来像这样

internal bool SlateTileOrConcreteRoof() 
     { 
      return RiskInformation.RoofConstruction.Value == RoofConstruction.Slate || 
        RiskInformation.RoofConstruction == RoofConstruction.TileAndSlate || 
        RiskInformation.RoofConstruction == RoofConstruction.Concrete; 
     } 

请添加任何意见/改进等

+0

更好地在配置文件中使用常量 –

回答

0

一般来说,我认为“的‘善类™ ’定义特征,”是“它确实正确的东西,从来没有(!)‘它,确切地说,”它做到了。 ”

当您导出从​​类常量,这表明应用程序的其他部分未知号码(现在和未来......)将包含测试针对该字符串的逻辑。

因此,只有你能真正回答这个问题:  “他们真的关心‘的值的字符串,’或做自己想做‘的答案,是或否的问题,这是在回答部分基于该字符串的值? ’ ”  这可能会指导你做什么最好的决定。 (请注意,我不认为有任何明线规则。 我已经完成了这两种方法...)