use*_*089 52 java naming-conventions
这可能是一个愚蠢的问题,但我从来没有找到一种令人满意的方法来命名HashMap<K,V>Java中的类型变量.例如-可以说我有一个HashMap,每一个桶是一<K,V>对,其中K一个String说,代表"国家"和V是Integer代表县国家有数量.
应该HashMap被命名为" mapStateCounty"," stateToCountyMap"等?哪一个看起来在逻辑上更具吸引力和直观性,而不会让人感到困惑和冗长?
Ray*_*oal 36
我喜欢这个问题,因为Java不允许通过运营商进行地图访问[].在其他语言中我们可以说像
numberOfCountiesIn["HI"]
Run Code Online (Sandbox Code Playgroud)
要么
countyCountOf["CA"]
Run Code Online (Sandbox Code Playgroud)
要么
numCountiesIn->{"MA"}
Run Code Online (Sandbox Code Playgroud)
或者(在Scala中,这很酷)
numCountiesIn("WA")
Run Code Online (Sandbox Code Playgroud)
等等.由于这个愚蠢的get词,这些都不适用于Java !
countyCounts.get("NY")
Run Code Online (Sandbox Code Playgroud)
确实!
编辑:我认为这countyCounts是最好的答案(恕我直言); 我只是强调需要get限制一个人的选择.
RAY*_*RAY 29
我不相信在任何地方都有一条写得很严格的规则,告诉你如何命名你的地图,所以只要你提出一个对你(和你的队友)有意义的规则,那么它应该没问题.
就个人而言,我喜欢打电话给我的地图keyToValue或valueByKey.
首先避免将实现细节放在变量的名称中,例如.今天你正在使用一个界面,但明天你可以决定以另一种类型存储你的数据,你的变量的名称必须重构,否则它将变得无效和误导.StateToCountyMapMap
您的数据表示州与其县数的关联,因此我的建议是将变量命名为stateToNumberOfCounties.在该名称中的关键点是to,它标明这变量存储的关联,在此之前的部分是key和所述部分之后是value或者values被关联到对应key.另外,将变量命名为不明确是stateToCountyNumber因为无法判断它是否存储州与县数之间的关系,或者它存储了一个代表州与州协会数量的单一数字,因此您必须返回在您的代码中检查它是类型Map还是类型int.
| 归档时间: |
|
| 查看次数: |
17661 次 |
| 最近记录: |