标签: coding-style

用于可选回调的JavaScript样式

我有一些函数偶尔(并不总是)会收到回调并运行它.检查回调是否定义/功能是一种好的风格还是有更好的方法?

例:

function save (callback){
   .....do stuff......
   if(typeof callback !== 'undefined'){
     callback();
   };
};
Run Code Online (Sandbox Code Playgroud)

javascript coding-style callback

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

关闭斜线之前的空间?

我经常在XML和HTML标记的结尾斜杠之前看到一个空格.XHTML换行符可能是规范的例子:

<br />
Run Code Online (Sandbox Code Playgroud)

代替:

<br/>
Run Code Online (Sandbox Code Playgroud)

这个空间似乎是多余的.事实上,我认为这是多余的.

写这个空间的原因是什么?

我已经读到这个空间解决了一些"向后兼容性问题".哪些向后兼容性问题?这些问题是否仍然相关,或者我们是否仍然为IE3兼容性添加额外的空间?是否存在一些关于此的确定答案的规范?

如果不是向后兼容性,那么它是否是可读性问题?类似于Great Open Curly Brace辩论?

void it_goes_up_here() {

int no_you_fool_it_goes_down_there()
{
Run Code Online (Sandbox Code Playgroud)

我当然可以尊重不同的风格意见,所以我很高兴得知,写作空间只是一种品味问题.

html xml xhtml coding-style

87
推荐指数
4
解决办法
3万
查看次数

什么是函数式编程中的点自由风格?

我最近注意到的一个短语是"无点"风格的概念......

首先,有这样的问题,也是这一个.

然后,我在这里发现他们提到"另一个可能值得讨论的话题是作者不喜欢点自由风格."

什么是"免费"风格?有人可以给出简明的解释吗?它与"自动"曲线有关吗?

为了了解我的水平 - 我一直在教自己Scheme,并编写了一个简单的Scheme解释器...我理解"隐含"currying是什么,但我不知道任何Haskell或ML.

scheme functional-programming coding-style pointfree

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

c#的风格指南?

我喜欢google for c ++使用的样式指南,在这里发布.c#还有类似的风格指南吗?我正在寻找更多的良好实践以及简单的事情,比如在谷歌样式指南中为c ++命名.

c# coding-style

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

在C++中使用assert()是不好的做法?

我倾向于在我的C++代码中添加许多断言,以便在不影响发布版本性能的情况下简化调试.现在,assert是一个纯C宏设计,没有考虑到C++机制.

另一方面std::logic_error,C++定义了在程序逻辑中存在错误(因此名称)的情况下抛出的内容.抛出一个实例可能只是一个完美的,更多的C++替代品assert.

问题是,assert并且abort两者都立即终止程序而不调用析构函数,因此跳过清理,而手动抛出异常会增加不必要的运行时成本.解决这个问题的一种方法是创建一个自己的断言宏SAFE_ASSERT,它就像C对应物一样工作,但在失败时抛出异常.

我可以想到关于这个问题的三种看法:

  • 坚持C的主张.由于程序立即终止,因此更改是否正确展开并不重要.此外,#define在C++中使用s同样糟糕.
  • 抛出异常并在main()中捕获它.允许代码在程序的任何状态下跳过析构函数都是不好的做法,必须不惜一切代价避免,并且调用terminate()也是如此.如果抛出异常,则必须捕获它们.
  • 抛出异常并让它终止程序. 终止程序的例外是可以的,并且由于NDEBUG这种情况在发布版本中永远不会发生.捕获是不必要的,并公开内部代码的实现细节main().

这个问题有明确的答案吗?有专业的参考吗?

编辑:跳过析构函数当然没有未定义的行为.

c++ assert coding-style

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

在vim中使用C自动缩进空格?

使用Eclipse和java,我有点被宠坏了.我开始使用vim在linux环境中进行C编码,有没有办法让vim自动为块做适当的间距?

因此在输入{下一行后将有2个空格缩进,并且该行的返回将使它保持相同的缩进,并且}将向后移动2个空格?

c vi vim coding-style

82
推荐指数
5
解决办法
11万
查看次数

在事件声明中添加匿名空委托是否有缺点?

我已经看到了一些关于这个习语的提及(包括SO):

// Deliberately empty subscriber
public event EventHandler AskQuestion = delegate {};
Run Code Online (Sandbox Code Playgroud)

好处很明显 - 它避免了在提升事件之前检查null的必要性.

但是,我很想知道是否有任何缺点. 例如,它是否被广泛使用并且足够透明以至于不会引起维护问题?空事件用户呼叫是否有明显的性能影响?

c# events delegates coding-style idioms

82
推荐指数
4
解决办法
1万
查看次数

你在Ruby中留下括号吗?

如果可能的话......你在Ruby中留下括号吗?

ruby coding-style choice

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

我应该在哪里放置@Transactional注释:在接口定义或实现类?

代码中标题的问题:

@Transactional (readonly = true)
public interface FooService {
   void doSmth ();
}


public class FooServiceImpl implements FooService {
   ...
}
Run Code Online (Sandbox Code Playgroud)

VS

public interface FooService {
   void doSmth ();
}

@Transactional (readonly = true)
public class FooServiceImpl implements FooService {
   ...
}
Run Code Online (Sandbox Code Playgroud)

java spring annotations coding-style

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

声明属性的点表示法与消息表示法

我们现在有属性的"点"符号.我见过各种的Forth约点符号主场迎战消息表示法的优点.为了保持反应不受重视,我不会在问题中以任何方式回应.

您对点符号与财产访问的消息符号有何看法?

请尽量将它集中在Objective-C上 - 我提出的一个偏见是Objective-C是Objective-C,所以你喜欢它就像Java或JavaScript一样无效.

有效的评论与技术问题(操作顺序,演员优先,表演等),清晰度(结构与对象性质,赞成和反对!),简洁等有关.

请注意,我是一个严格的质量和可读性的学校,在代码约定和质量至关重要的大型项目上工作(写入曾经读过一千次范例).

syntax coding-style objective-c

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