其实这是完全的理论问题。 但是为什么java规范不允许在包中使用大写字母的字母,并且导致这样写: com.mycompany.projname.core.remotefilesystemsynchronization.* 代替 com.myCompanyName.projName.core.remoteFileSystemSynchronization.*
我将在C#代码上自己做一些工作,但是我想确保遵循最广泛接受的命名约定,以便让其他开发人员,发布代码或销售我的代码。 现在我正在按照微软已经设定的命名约定,因为它们似乎是最被广泛接受的。 他们没有提到的一件事是为私人领域命名。 在大多数情况下,我已经看到他们在camelCase中命名像受保护的字段,但是这给我一个问题,因为参数名称应该在camelCase中。 以下面的构造函数为例: public GameItem(string baseName, string prefixName, string suffixName) { //initialize code } 现在,如果我也使用camelCase作为私有字段,除非我使用“this”来访问类字段(我认为这违背了大多数标准,更不用说意味着更多的input),否则会存在命名冲突。 一个解决scheme是给参数一个不同的名字,但是不合逻辑意义的是给相同的数据2个不同的名字。 我所知道的唯一的其他解决scheme在C ++编码中是很常见的,一开始就给私人成员一个下划线。 这种解决scheme通常被C#编码接受吗? 有没有解决这个问题的另一种方法(比如只使用属性(使用PascalCase)访问字段,即使在类本身)?
什么是DATETIME列的命名约定(在我的情况下,使用MS SQL Server) 对于存储创build行时CreatedDatetime有意义的列或LastModifiedDatetime 。 但是对于一个简单的表格,让我们说一个叫Event的东西,你会创build一个名为: EventID, // Primary key EventDatetime, // When the event is happening EventEnabled // Is the event is on 要么 ID, // Primary key Datetime, // When the event is happening Enabled // Is the event is on 如果您不使用惯例:请提供您将使用的列名称。
我在一个企业做了一个小实习,在他们的代码中我find了这样命名的类: public class FlagsConfig { private static FlagsConfig _instance; } _instance是C#中任何types的命名约定吗? 我会问开发商,但他们今天和下个星期都在某个课程上。
这可能是一个愚蠢的问题,但我从来没有find一个令人满意的方式来命名Java中的typesHashMap<K,V>的variables。 例如 – 可以说我有一个HashMap ,其中每个桶是一个<K,V>对,其中K是一个String表示“状态”, V是一个Integer代表状态的县数。 HashMap应该被命名为“ mapStateCounty ”,“ stateToCountyMap ”等。 哪一个在逻辑上看起来更具吸引力,而且直观易懂,不会令人困惑和冗长?
我已经看到人们在类中为成员variables使用尾部下划线,例如着名的C ++ FAQ Lite 。 我认为它的目的不是将variables标记为成员,这就是“m_”的用途。 它的实际目的是使得像这个字段这样命名的访问器方法成为可能: class Foo { public: bar the_bar() { return the_bar_; } private: bar the_bar_; } 有访问者省略“get_”部分在STL和boost中很常见,我试图尽可能地开发一种编码风格,但是我不能用下划线技巧来看到它们。 我无法在STL中find一个访问器,或者只是返回一个私有variables。 我有几个问题希望你能回答: 这个惯例从哪里来? 短暂聊天? Objective-C的? 微软? 我在想。 我会使用尾部下划线为所有私人成员或只是作为一种解决方法,以防我想命名一个函数像variables? 你可以指向我的STL或增强代码,演示成员variables的尾部下划线? 有谁知道Stroustrup对这个问题的看法是什么? 你能指点我进一步讨论这个问题吗?
我试图坚持Python代码的风格指南(也称为PEP 8 )。 因此,命名类的首选方法是使用CamelCase: 几乎没有例外,类名称使用CapWords约定。 内部使用的类别还有一个主要的下划线。 如果我的class级名称是由两个缩略词组成的,那么我应该如何与PEP 8保持一致? 例如,如果我的class级名称是“NASA JPL”,你会怎么说呢? class NASAJPL(): # 1 class NASA_JPL(): # 2 class NasaJpl(): # 3 我正在使用#1,但看起来很奇怪。 #3看起来也很奇怪,#2似乎违反了PEP 8。
我最近试图将string文字转换为boolean ,当方法boolean Boolean.getBoolean(String name)popup自动完成窗口。 还有另外一种方法( boolean Boolean.parseBoolean(String s) )出现在后面,这导致我search找出这两者之间有什么区别,因为他们似乎都这样做。 事实certificate, Boolean.getBoolean(String name)实际上做的是检查是否存在给定名称的System属性(!),以及它的值是否为true 。 我认为这是非常具有误导性的,因为我绝对不会期望Boolean方法实际上调用了System.getProperty ,只是通过查看方法签名,它确实看起来像(至less对我来说)被用来parsing一个String作为boolean 。 当然,javadoc说得很清楚,但我仍然认为这个方法有一个误导性的名字,而且它不在正确的位置。 其他原始types的包装,如Integer也有类似的方法。 另外,它似乎不是一个非常有用的方法属于基础的API,因为我认为这是不是很常见的东西像-Darg=true 。 也许这是一个Java位置面试的好问题:“ Boolean.getBoolean("true")的输出是什么?” 我相信这些方法的更合适的位置将在System类,例如, getPropertyAsBoolean ; 但是我仍然认为没有必要在基础API中使用这些方法。 把它们放在像Properties类这样的东西里是很有意义的,在这种types的转换中非常普遍。 你怎么看待这一切? 另外,如果您还有其他“尴尬”的方法,请将其发布。 NB我知道我可以使用Boolean.valueOf或Boolean.parseBoolean将string转换为boolean ,但我只是想讨论一下API的devise。
一个被广泛采用的CSS命名实践是使用hero作为应用于网站主标题的类名。 这个命名约定是从哪里来的,特别是对某些事情的参考?
Objective-C中常量的命名约定是什么(或者最常用的命名方式)? extern常量是否有不同的标准? 我见过的一些风格: NSString* const kPreferenceFirstRun = @"FirstRun"; // Replace "XY" by a prefix representing your company, project or module NSString* const XYPreferenceFirstRun = @"FirstRun";