标签: coding-style

在Python中强制命名参数

在Python中,您可能有一个函数定义:

def info(object, spacing=10, collapse=1)
Run Code Online (Sandbox Code Playgroud)

可以通过以下任何一种方式调用:

info(odbchelper)                    
info(odbchelper, 12)                
info(odbchelper, collapse=0)        
info(spacing=15, object=odbchelper)
Run Code Online (Sandbox Code Playgroud)

感谢Python允许任意顺序参数,只要它们被命名.

我们遇到的问题是我们的一些较大的功能增长,人们可能会之间添加参数spacingcollapse,这意味着错误的值可以将未命名的参数.此外,有时候我们并不总是清楚需要注意什么.我们正在采用一种方法强迫人们命名某些参数 - 不仅仅是编码标准,而且理想情况下是标志或pydev插件?

所以在上面的4个例子中,只有最后一个会通过检查,因为所有参数都被命名.

赔率是我们只会为某些功能打开它,但任何关于如何实现这一点的建议 - 或者如果它甚至可能会被赞赏.

python coding-style function parameter-passing

94
推荐指数
5
解决办法
2万
查看次数

将方法声明为静态有什么好处

我最近在Eclipse中查看了我的警告并遇到了这个问题:

静态警告

如果方法可以声明为static,它将给出编译器警告.

[edit] Eclipse帮助中的确切引用,对私有和最终的压力:

启用后,编译器将对privatefinal方法发出错误或警告,并且仅引用静态成员.

是的我知道我可以关掉它,但我想知道打开它的原因?

为什么将每个方法声明为静态是一件好事?

这会带来任何性能优势吗?(在移动领域)

指出一个方法为静态,我想是显示你不使用任何实例变量因此可以移动到utils样式类?

在一天结束时,我应该关闭它"忽略"或者我应该修复它给我的100多个警告吗?

你认为这只是污染代码的额外关键字,因为编译器无论如何只会内联这些方法吗?(有点像你没有声明每个变量你可以最终但你可以).

java optimization static coding-style

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

在Intellij中,如何在驼峰大小写和下划线间隔之间切换?

在我的公司,我们有两个不同的java vs sql样式指南.在java中我有一个名为的字段historyOfPresentIllness,当我编写sql时,我想命名它history_of_present_illness.当我突出显示短语时,是否有键盘快捷键从一个切换到另一个?或者也许是一个可以做到这一点的插件?

当我问,我也不妨问,如果有办法把historyOfPresentIllnesshistory-of-present-illness.那是从java到clojure风格.

java coding-style intellij-idea

94
推荐指数
5
解决办法
3万
查看次数

是否有XML元素的标准命名约定?

XML文档是否有任何标准,事实上或其他标准?例如哪个是编写标签的"最佳"方式?

<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
Run Code Online (Sandbox Code Playgroud)

同样,如果我有一个更好的属性的枚举值

<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
Run Code Online (Sandbox Code Playgroud)

xml coding-style naming-conventions

91
推荐指数
7
解决办法
6万
查看次数

隐式转换与类型类

在Scala中,我们可以使用至少两种方法来改进现有或新类型.假设我们想要表达某些东西可以使用a来量化Int.我们可以定义以下特征.

隐式转换

trait Quantifiable{ def quantify: Int }
Run Code Online (Sandbox Code Playgroud)

然后我们可以使用隐式转换来量化例如字符串和列表.

implicit def string2quant(s: String) = new Quantifiable{ 
  def quantify = s.size 
}
implicit def list2quantifiable[A](l: List[A]) = new Quantifiable{ 
  val quantify = l.size 
}
Run Code Online (Sandbox Code Playgroud)

导入这些后,我们可以quantify在字符串和列表上调用该方法.请注意,可量化列表存储其长度,因此它可以避免在后续调用时对列表进行昂贵的遍历quantify.

输入类

另一种方法是定义一个"证据" Quantified[A],表明某种类型A可以量化.

trait Quantified[A] { def quantify(a: A): Int }
Run Code Online (Sandbox Code Playgroud)

然后,我们提供这种类型的类的实例为StringList地方.

implicit val stringQuantifiable = new Quantified[String] {
  def quantify(s: String) = s.size 
}
Run Code Online (Sandbox Code Playgroud)

如果我们编写一个需要量化其参数的方法,我们写道:

def sumQuantities[A](as: List[A])(implicit ev: Quantified[A]) = 
  as.map(ev.quantify).sum …
Run Code Online (Sandbox Code Playgroud)

coding-style scala implicit-conversion

91
推荐指数
3
解决办法
7338
查看次数

为什么大多数C开发人员使用define而不是const?

在许多程序中,a #define用作与常量相同的目的.例如.

#define FIELD_WIDTH 10
const int fieldWidth = 10;
Run Code Online (Sandbox Code Playgroud)

我通常认为第一种形式优先于另一种,依靠预处理器来处理基本上是应用程序的决定.这个传统有原因吗?

c coding-style c-preprocessor

90
推荐指数
5
解决办法
2万
查看次数

为什么函数只有一个退出点?

我一直听说单个退出点功能是一种糟糕的代码方式,因为你失去了可读性和效率.我从来没有听到任何人争辩对方.

我认为这与CS有关,但这个问题在cstheory stackexchange中被击落.

coding-style

89
推荐指数
5
解决办法
4万
查看次数

静态最终变量的Java命名约定

有一条规则说:

表示常量(最终变量)的名称必须全部使用下划线来分隔单词(取自http://geosoft.no/development/javastyle.html)

这适用于原始类型,如int或字符串:

private static final int MAX_COUNT = 10;
Run Code Online (Sandbox Code Playgroud)

但是什么是非原始类型?在大多数情况下,我见过以下内容:

private static final Logger log = Logger.getLogger(MyClass.class);
Run Code Online (Sandbox Code Playgroud)

或者在单例中,实例变量不是大写的.

问题是声明这些类型的变量(如日志和实例)的正确方法是什么?

java coding-style

89
推荐指数
5
解决办法
13万
查看次数

不引人注目的JavaScript:HTML代码顶部或底部的<script>?

我最近阅读了雅虎宣言加速你的网站的最佳实践.他们建议我们尽可能将JavaScript包含在HTML代码的底部.

但究竟何时何地?

我们应该在收盘前</html>还是之后放?最重要的是,我们什么时候应该把它放在这个<head>部分?

javascript optimization performance coding-style

88
推荐指数
6
解决办法
6万
查看次数

优秀程序员的代码是什么样的?

我是一个业余爱好者程序员(开始使用VBA使excel更快)并且一直在使用VB.NET/C#.NET并且正在尝试学习ADO.NET.

编程总是让我感到沮丧的是"好"的样子?我不是专业人士所以没有什么可比的.是什么让一个更好的程序员?是吗:

  • 他们对给定语言中的所有对象/类/方法有了更好的理解?
  • 他们的节目更有效率?
  • 他们的程序设计在更好的文档,更好的函数名称选择等方面要好得多?

换句话说,如果我要查看专业程序员的代码,我会注意到他们的代码相对于我的第一件事情是什么?例如,我读过Wrox出版社的"Professional ASP.NET"等书.该书中的代码示例是"世界级"吗?那是巅峰吗?任何一位高级程序员都会看看那段代码并认为它​​是好代码吗?

coding-style

88
推荐指数
11
解决办法
7万
查看次数