标签: conventions

\ Windows\vs.\Windows\System32 - 文件位置约定

对于\ Windows \中的文件类型是否存在标准约定,而不是\ Windows\System32中的文件类型?

我正在开发一个SDK,它有各种DLL,一个helper exe和一个Windows服务exe.以前在代码上工作的人把两个exe文件放在\ Windows \和DLLs\Windows\System32 \但在我看来他们应该全部进入\ Windows\System32 \

你会做什么?

编辑: 我不是在试图讨论他们是否应该去那里的优点.大量的应用程序安装到System32 ...特别是服务或驱动程序(我正在处理).当然,我并不是说它是对的...正如我所说,我最初没有创造这个...为了这个问题.如果这些是你唯一的选择......那会是什么?

编辑:好的,点了.我真的不认为我能够说服这个项目的"架构师"将它们从这两个目录中的任何一个中移出......但是在这一点上我会更加努力.同意......不应该把任何东西放在那些文件夹中.

windows directory conventions system32

3
推荐指数
1
解决办法
388
查看次数

是(宽度,高度)还是(高度,宽度)?

是否存在函数参数中的(高度,宽度)顺序或显示尺寸时的约定?

language-agnostic conventions bitmap dimensions

3
推荐指数
2
解决办法
666
查看次数

Java类中常用的"this"用于引用实例变量

以下用于"this"的用法是指当前类中的实例变量可以接受吗?在PHP中,这是你必须要做的,但我注意到在Java中你可以直接通过名称调用变量.

我个人认为"this.variable"更容易理解,但如果不正常,我不想养成糟糕的编码习惯.

谢谢!

public class MyClass {  

    /**
     * Private variable
     */
    private int myInt;

    /**
     * Setter method
     */
    public void setMyInt(int value) {
        this.myInt = value;
    }   
}
Run Code Online (Sandbox Code Playgroud)

java coding-style conventions instance-variables

3
推荐指数
1
解决办法
425
查看次数

if-else的代码约定,适用于Java语句

(代码约定doc:http://www.oracle.com/technetwork/java/codeconventions-142311.html#449)

我总是把if-else语句写成:

if(condition) {
    statements;
} else {
    statements;
}
Run Code Online (Sandbox Code Playgroud)

但是,在Java代码约定文档中,它表示如下所示:

if (

condition) {


statements;
} else {


statements;
}
Run Code Online (Sandbox Code Playgroud)

而且,我总是写这样的陈述:

for(initialization;condition;update) {
    statements;
}
Run Code Online (Sandbox Code Playgroud)

但编码惯例说:

for (

initialization;

condition;

update) {


statements;
}
Run Code Online (Sandbox Code Playgroud)

压痕和间距对我来说似乎不必要的麻烦.哪个是正确/更好的方式,为什么?

java for-loop if-statement conventions

3
推荐指数
1
解决办法
4997
查看次数

条件(三元)运算符代码样式

int foo = bar > baz ? bar : baz;

int foo = someBoolean ? bar : baz;


int foo = (bar > baz) ? bar : baz;

int foo = (someBoolean) ? bar : baz;


int foo = (bar > baz) ? bar : baz;

int foo = someBoolean ? bar : baz;

我无法决定应使用这三个中的哪一个。我可以:

  1. 在示例中,请不要使用括号并冒着可读性差的危险,例如:

    min[0] = min[0] > pos.x ? pos.x : 0;

  2. 始终使用括号,但冒着简短表达式中有些难看的代码的风险:

    setValue(val + scrollBar.getBlockIncrement() * ((scrollsUp) ? -1 : 1));

  3. 当条件中有空格时,请放在两者之间,并使用括号;但如果条件只是布尔变量,则不要使用括号:

    min[0] = (min[0] > …

java coding-style conventions ternary-operator conditional-operator

3
推荐指数
1
解决办法
5826
查看次数

Java约定中的Getters和Setter

我的Java有点生疏(过去几年一直在做C#).我也希望这不是一个非常主观的问题.

无论如何说我上课了Person(是的,有点陈词滥调,我知道),没有行为(C#版本):

public class Person 
{
   public string Name { get; set; }
   public int Age { get; set; }
   // say 10+ properties
}
Run Code Online (Sandbox Code Playgroud)

等效的Java版本将如何?我知道我可以写一堆getter和setter(但是我说有10多个属性),感觉就像很多样板.这样做是不好的做法:

public class Person {
   public String name;
   public int age;
   // rest of the stuff here
}
Run Code Online (Sandbox Code Playgroud)

我对此感到有点不安.我意识到没有"正确答案"但是,我对一般惯例和最佳实践更感兴趣.

java conventions

3
推荐指数
2
解决办法
1万
查看次数

覆盖时保留注释

有没有一种方法(工具或其他东西)允许在从基类继承/重写方法时不重复相同的XML注释?

例如.:

/// <summary>
/// Represent a brand new object in .NET
/// </summary>
public class MyObject : Object
{
    /// <summary>
    /// Copy-Paste the same Xml comment 
    /// like in the base class is boring!
    /// </summary>
    /// <param name="obj">and params too!! ((</param>
    /// <returns>this one too!!! (((</returns>
    public override bool Equals(object obj)
    {
        return base.Equals(obj);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# conventions xml-comments

3
推荐指数
1
解决办法
81
查看次数

PEP-8用于函数调用

我最近开始使用Python/Django,我听说过PEP 8惯例.在阅读了PEP8之后,我对如何"设计"我的代码有了更好的理解,但我学会了用Java编程,而我过去常常做任何我喜欢的事情.你能建议如何将我的例子放入PEP-8吗?非常感激.

result = urllib.urlretrieve(
                            "https://secure.gravatar.com/avatar.php?"+
                            urllib.urlencode({
                                            'gravatar_id': hashlib.md5(email).hexdigest(),
                                            'size': srt(size)
                                            })
                            )
Run Code Online (Sandbox Code Playgroud)

python conventions pep8 code-conversion

3
推荐指数
1
解决办法
2989
查看次数

混合蛇壳和驼色表壳的名称是什么?

我正在维护一些遗留的Java代码,并且我在相同的代码块中不断遇到奇怪的驼峰案例和蛇案例.有些名字完全是骆驼案,其他名字完全是蛇案,有些则是奇怪的混合物(例如displayText_label_maxDiff或者hasProperty_).我意识到这些名称不是可接受的Java编码风格,也不应该是.我只是想在谈话中使用一个有意义的术语.

是否已经有一个被接受的名字?如果没有,你会提出什么建议?我在考虑"鹅卵石案","道路案例"或"奇怪案例".

java naming conventions naming-conventions

3
推荐指数
1
解决办法
1168
查看次数

带有ProtoBuf编译的Python结构的VS Code PyLint错误E0602(未定义的变量)

我使用Visual Studio已有很长时间了,但是维护变得太复杂了。现在,我尝试转向VS Code,但是它抛出了许多PyLint错误消息,这些消息对我来说没有意义(并且程序仍然可以按预期运行)。这些错误主要发生在从GoogleProtoBuf结构生成的Python代码中。

例如:

from lbsnstructure.lbsnstructure_pb2 import lbsnPost

def geoaccuracy_within_threshold(post_geoaccuracy, min_geoaccuracy):
    """Checks if geoaccuracy is within or below threshhold defined"""

    if min_geoaccuracy == lbsnPost.LATLNG:
        allowed_geoaccuracies = [lbsnPost.LATLNG]
    elif min_geoaccuracy == lbsnPost.PLACE:
        allowed_geoaccuracies = [lbsnPost.LATLNG, lbsnPost.PLACE]
    elif min_geoaccuracy == lbsnPost.CITY:
        allowed_geoaccuracies = [lbsnPost.LATLNG, lbsnPost.PLACE, lbsnPost.CITY]
    else:
        return True
    # check post geoaccuracy
    if post_geoaccuracy in allowed_geoaccuracies:
        return True
    else:
        return False
Run Code Online (Sandbox Code Playgroud)

从pyLint引发错误消息E0602:

未定义变量'lbsnPost'pylint(E0602)
lbsnPost:GeneratedProtocolMessageType

但是,Google 明确声明这种形式的类型引用是正确的:

元类将枚举扩展为具有整数值的一组符号常量。因此,例如,常数addressbook_pb2.Person.WORK的值为2。

我在我的代码中都遇到了类似的错误(可以正常工作)。我怀疑这是我用错误的约定编写的内容,但是仍然可以使用。但是正确的约定是什么?

截图VSCode Pylint错误E0602

该页面似乎在讨论相同的问题,但是没有一种解决方案有效:
在PyDev
使用协议缓冲区时,即使从导入中导入未定义的变量,即使这样做lbsnpost().LATLNG(实例化protobuf消息),我也会得到相同的未定义的变量错误。

conventions pylint protocol-buffers visual-studio-code

3
推荐指数
1
解决办法
3871
查看次数