我正在Objective-C中创建一个双向链表.我希望我的节点类包含一个实例方法,允许我在目标节点之后添加另一个节点,如下所示:
// start <-> nodeA <-> nodeB <-> nodeC <-> end
Node * newNode = [Node node];
[NodeB thisMethodNeedsAGoodName:newNode];
// start <-> nodeA <-> nodeB <-> newNode <-> nodeC <-> end
Run Code Online (Sandbox Code Playgroud)
这个方法有什么好名字?insertAfter:听起来不对,因为这意味着正在插入目标,而不是新节点.insertNode:没关系,除了我想写另一个方法在目标节点之前插入一个节点,然后我必须为该方法提出一个不同的名称.
有任何想法吗?
我很难解决我使用.Net实现部分W3C HTML5规范的命名约定冲突.
问题是我喜欢使用标准.Net命名约定,它使用UpperCamelCasing,但W3C规范表明命名约定应该使用lowerCamelCasing.
我应该从规范偏离,以编写代码,是友好和熟悉的.NET社区,或者我应该以坚持规范尽可能地使用W3C推荐的惯例,即使这会让我的代码.notVeryPretty()?
编辑
例:
W3C定义了IDOMImplementation与成员的接口hasFeature().如果我没有一个W3C规范指导实施编写.NET代码,这些将被命名为IDomImplementation和HasFeature(),但W3C定义为上述规定的命名规则.
编辑
要以完全不同的方式提出这个问题,在使用.Net实现其规范时,偏离W3C推荐的套管约定是否有任何缺点?
当我创建一个独立的Java程序,它只有一个或两个java/class文件而且没有与其他程序共享时,我从不花时间org.domain.scripts.purpose在包名中说.我通常只是做我的主要课程main.Main.
也许这是违反协议的,但是当复制程序以填补另一个小的利基要求(比如将分隔符分隔为csv或递归列出按修改日期排序的文件)时,我将不会重命名包名称或遭受损失当我已经知道我所处的程序时,长包名称和路径.
当没有唯一的包名时,小的泛型类(如Base64转换)更容易从一个程序复制到另一个程序.
那么,什么是标准的通用包名(或者有一个)
编辑:我想我会继续提及更多原因.当文件具有相同的包名时,更容易区分文件或查看它们是否相同.另外,当我需要包含一个库时,我会创建一个包含java -cp library:jarfile而不是java -jar和cp选项的用法说明,我需要设置主类名,所以我也希望在那里简短.此外,堆栈跟踪看起来更好.
我想创建一个名为的数组currentArray,但我希望它的内容由不同的数组组成.基本上是副本.但是,我想影响currentArray使用变量(int)复制到哪个数组.
这就是我的意思:
function region(number)
{
var regionArray1 = [1093, 1276, 436, 541];
var regionArray2 = [563, 747, 310, 423, 744, 947, 601, 715];
var currentArray = (regionArray+number)[];
}
Run Code Online (Sandbox Code Playgroud)
number将是1或2.如果可以的话,这样做的正确方法是什么?我也试过了,var currentArray = ("regionArray"+number)[];但这似乎也不是正确的方法.
我需要为Car和Store创建一个名为CarStoreTracker的连接模型,它们彼此之间有很多.
class Car < ActiveRecord::Base
has_many :carstoretrackers # It seems to work
has_many :stores, :through => :carstoretrackers # I bet the naming is not being recognized by Rails convention
end
class Store < ActiveRecord::Base
has_many :carstoretrackers # It seems to work
has_many :cars, :through => :carstoretrackers # Same issue
end
class CarStoreTracker < ActiveRecord::Base
belongs_to :store
belongs_to :car
end
Run Code Online (Sandbox Code Playgroud)
CarStoreTracker有
car_id and store_id on its table.
Run Code Online (Sandbox Code Playgroud)
当我跑:
> CarStoreTracker.first.car
> CarStoreTracker.first.store
Run Code Online (Sandbox Code Playgroud)
他们都工作.
但
Store.first.cars Car.first.stores Store.carstoretrackers Car.carstoretrackers
他们没有工作.NameError:未初始化的常量"CURRENTMODEL":: Carproducttracker
所以,我取消了CarProductTracker,我只使用了Tracker这个名称来模型,一切正常. …
ruby model ruby-on-rails naming-conventions has-many-through
我有一个布尔变量,标记是否应显示价格(在单个项目上).我开始将其命名为"DisplayPrice",但这更能描述要显示的项目的价格(想想:十进制).这里有什么选择?
我认为任何以"Is"开头的都不合适.例如,"IsDisplayPrice"似乎更像是价格本身的元,其中"IsPriceDisplayed"看起来更像是条件而不是设置.
ShouldDisplayPrice?有任何想法吗?
我只是抓住集合,发现add()方法实际上将对象深度复制到集合中.它们应该被称为"copyInto"吗?
import java.util.*;
class Test {
public static void main(String[] args) {
Set <Frog> setOfFrogs = new HashSet <Frog>();
Frog frog1 = new Frog("Kermit");
Frog frog2 = new Frog("Bob");
setOfFrogs.add(frog1);
setOfFrogs.add(frog2);
frog1.name = "May";
frog2.name = "Mary";
for (Frog eachFrog : setOfFrogs){
System.out.println(eachFrog.name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这打印:"May"和"Mary".
对不起,这是一个浅色的副本.我需要将这个"参考"业务纳入我的厚脸皮......
Java命名规则建议使用哪一个.这个
public static final class DatabaseTable
Run Code Online (Sandbox Code Playgroud)
或这个
public static final class DATABASE_TABLE
Run Code Online (Sandbox Code Playgroud)
哪一个是正确的?
这似乎是一个微不足道的问题,但我搜索了很多,找不到答案.
如果我有这样的最终字段:
private final double DEGREES;
Run Code Online (Sandbox Code Playgroud)
变量是用大写字母写的,因为它是最终的,但是getter方法也应该是大写的吗?那么它会是getDEGREES还是getDegress?
最近开始使用Ruby编程时,我注意到一个小语言功能真的让我很难 - 以大写字母开头的变量是自动常量.
虽然我知道这是设计的,并且在大多数情况下确实有帮助,但一旦开始编写算法就会成为一个问题.我的意思是代码需要有效且容易地区分变量 - 比如说n和N.
这是一个非常简单的例子(我知道它不是一个完全有效/ rubyesque代码,但我希望它说明了我的观点):
def average(array)
N = 0
array.each { |n| N += n }
N/array.length.to_f
end
Run Code Online (Sandbox Code Playgroud)
另一个例子是下标 - 例如,在物理问题中进行计算时,在Ruby中使用F_friction并且F_weight有用但不可能.
所以,问题是:是否有一种可接受的处理这些变量名称的方法?
java ×4
methods ×2
ruby ×2
.net ×1
arrays ×1
c# ×1
class ×1
collections ×1
javascript ×1
linked-list ×1
model ×1
objective-c ×1
packages ×1
variables ×1