标签: coding-style

你最喜欢的C++ Coding Style成语是什么?

你最喜欢的C++编码风格是什么?我问的是样式或编码排版,例如你在哪里放大括号,在关键字后面有空格,缩进的大小等等.这与最佳实践或要求相反,例如总是删除数组delete[].

以下是我最喜欢的一个示例:在C++类初始值设定项中,我们将分隔符放在行的前面而不是后面.这样可以更容易地保持最新状态.这也意味着版本之间的源代码控制差异更清晰.

TextFileProcessor::
TextFileProcessor( class ConstStringFinder& theConstStringFinder ) 

    : TextFileProcessor_Base( theConstStringFinder )

    , m_ThreadHandle  ( NULL )
    , m_startNLSearch (    0 )
    , m_endNLSearch   (    0 )
    , m_LineEndGetIdx (    0 )
    , m_LineEndPutIdx (    0 )
    , m_LineEnds      ( new const void*[ sc_LineEndSize ] )
{
    ;
}
Run Code Online (Sandbox Code Playgroud)

c++ coding-style

60
推荐指数
14
解决办法
2万
查看次数

你如何使用Control.Applicative编写更干净的Haskell?

在最近的一个风格问题的答案中,我写道

main = untilM (isCorrect 42) (read `liftM` getLine)
Run Code Online (Sandbox Code Playgroud)

isCorrect num guess =
  case compare num guess of
    EQ -> putStrLn "You Win!" >> return True
    ...
Run Code Online (Sandbox Code Playgroud)

Martijn帮助提出了替代方案:

main = untilM (isCorrect 42) (read <$> getLine)

EQ -> True <$ putStrLn "You Win!"
Run Code Online (Sandbox Code Playgroud)

使用Control.Applicative中的抽象可以使Haskell代码中的哪些常见模式更清晰?有效使用Control.Applicative时要记住哪些有用的经验法则?

haskell coding-style

60
推荐指数
3
解决办法
8403
查看次数

将常量放在if语句中的原因是什么?

我正在查看我正在使用的硬件接口的一些示例C++代码,并注意到以下几行中的许多语句:

if ( NULL == pMsg ) return rv;
Run Code Online (Sandbox Code Playgroud)

我敢肯定我听过有人说将常数放在第一位是一个好主意,但为什么呢?是否只是如果你有一个大的声明,你可以很快看到你正在比较什么,或者还有更多吗?

c++ if-statement coding-style constants

60
推荐指数
5
解决办法
7711
查看次数

为什么在"if x then return"之后很少使用"else"?

这个方法:

boolean containsSmiley(String s) {
    if (s == null) {
        return false;
    }
    else {
        return s.contains(":)");
    }
}
Run Code Online (Sandbox Code Playgroud)

可以等同地写成:

boolean containsSmiley(String s) {
    if (s == null) {
        return false;
    }

    return s.contains(":)");
}
Run Code Online (Sandbox Code Playgroud)

根据我的经验,第二种形式更常见,特别是在更复杂的方法中(可能有几个这样的退出点),"throw"和"return"也是如此.然而,第一种形式可以说使代码的条件结构更加明确.有什么理由比较喜欢一个吗?

(相关:一个函数应该只有一个return语句吗?)

java if-statement coding-style function-exit

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

摆脱丑陋的if语句

我有这个丑陋的代码:

if ( v > 10 ) size = 6;
if ( v > 22 ) size = 5;
if ( v > 51 ) size = 4;
if ( v > 68 ) size = 3;
if ( v > 117 ) size = 2;
if ( v > 145 ) size = 1;
return size;
Run Code Online (Sandbox Code Playgroud)

如何摆脱多个if语句?

java coding-style

60
推荐指数
13
解决办法
1万
查看次数

何时使用在Ruby中启动子进程的每种方法

1. ``Backtick

1. a)%x{}百分比X <Backtick的替代语法

  • 在parse.y中定义,请参阅讨论

2. system()

3. fork()

4. open()

4.A. IO.popen()<表现相同open()

4.B. open("|-")

  • 叉到管道

4.C. IO.popen("-")<表现相同open("|-")

5. Open3.popen3()

  • require 'open3'
  • stdlib Open3

6. PTY.spawn()

  • require 'pty'
  • stdlib PTY

7. Shell.transact()

  • require 'shell'
  • stdlib Shell

什么时候应该放弃一个更复杂的方法的可信赖的背叛?

编辑1. 非常感谢Avdi Grimm的帖子描述了每种方法的示例用法:#1(&gist); #2(&gist); #3.

他们是很好的资源来回答如何,但没有明确的组成来回答每个应该使用为什么,并因此恕我直言这个问题不完整的答案.

ruby performance standards subprocess coding-style

60
推荐指数
3
解决办法
8120
查看次数

在C中使用true和false

据我所知,有三种方法可以在c中使用布尔值

  1. 用bool类型,从那时候使用true和false
  2. 使用预处理器定义 #define FALSE 0 ... #define TRUE !(FALSE)
  3. 只是直接使用常量,即1和0

我错过了其他方法吗?不同方法的优缺点是什么?

我想最快的是3号,2号更容易读取(尽管按位否定会略微增加开销),1是最易读的,与所有编译器不兼容.

c coding-style

59
推荐指数
5
解决办法
14万
查看次数

用Python导入模块 - 最佳实践

我是Python的新手,因为我想扩展我使用R学习的技能.在RI中,往往会加载一堆库,有时会导致函数名称冲突.

什么是Python的最佳实践.我看到一些具体的变化,我没有看到它们之间的区别

import pandas,from pandas import *from pandas import DataFrame

前两个之间有什么区别,我应该只输入我需要的东西.此外,对于制作小程序来处理数据和计算简单统计数据的人来说,最糟糕的后果是什么.

UPDATE

我找到了这个出色的指南.它解释了一切.

python workflow coding-style python-import

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

如何发出"尚未实施"的信号?

在初始绘制新gem时,我需要将一些方法实现留空(将在下一个实现)

因此,我想发出一个"尚未实施"的例外情况

我想知道是否有一个特定于Ruby语言的最佳实践标准约定来编写这种占位符/异常.

即:像:

ruby coding-style exception-handling conventions

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

有什么理由不总是使用关键字参数?

在进入python之前,我开始使用一些Objective-C/Cocoa书籍.我记得,大多数函数都需要明确说明关键字参数.直到最近我才忘记了这一切,并在Python中使用了位置参数.但是最近,我遇到了一些由不正当的职位造成的错误 - 他们是偷偷摸摸的小东西.

让我思考 - 一般来说,除非有特殊需要非关键字参数的情况 - 有没有什么好的理由不使用关键字参数?即使是简单的功能,它总是被认为是不好的风格吗?

我觉得我的大多数50行程序已经定期扩展到500行或更多行,如果我习惯于总是使用关键字参数,那么随着代码的增长,代码将更易于阅读和维护.这可能不是这样的原因吗?

更新:

我得到的总体印象是它的风格偏好,有许多好的参数,它们通常不应该用于非常简单的参数,但在其他方面与良好的风格一致.在接受之前我只是想澄清一下 - 这种方法是否存在任何特定的非风格问题 - 例如,重要的性能命中?

python coding-style

58
推荐指数
5
解决办法
7322
查看次数