在最近的代码审查中,贡献者试图强制指针上的所有NULL检查按照以下方式执行: int * some_ptr; // … if (some_ptr == NULL) { // Handle null-pointer error } else { // Proceed } 代替 int * some_ptr; // … if (some_ptr) { // Proceed } else { // Handle null-pointer error } 我同意他的方式更清楚些,因为它明确地说“确保这个指针不是NULL”,但我会反驳说,任何在这个代码上工作的人都会明白,在if语句隐式检查NULL 。 另外我觉得第二种方法有更小的机会引入此类错误: if (some_ptr = NULL) 这只是一个绝对的痛苦find和debugging。 你喜欢哪种方式,为什么?
我有一个旧的Eclipse项目,代码格式不正确。 我想根据Eclipse中的设置来格式化所有的.java文件。 我不想用Ctrl + Shift + F编辑每个单独的文件。 有没有格式化所有文件的方法? 也许是一个Eclipse插件?
你可以用什么方式评论Coffeescript? 该文档说,你可以使用3个哈希符号来启动和closures评论块 ### comments go here ### 我发现我有时可以使用以下两种格式 `// backticks allow for straight-javascript, //but the closing backtick can't be on a comment line (I think?) ` 有没有简单的方法来在coffeescript中插入简短的评论? 编辑:不要使用这种风格 由于这个观点很多,我想强调一下 /* comment goes here */ 当/*在自己的行上时会产生MATH错误。 正如Trevor在对这个问题的评论中指出的那样,这是一个正则expression式 ,而不是一个评论!
我不知道如何格式化我的代码整齐排列? 它有一个类似Eclipse的ctrl shift f的function吗?
是否有一个键盘快捷键来格式化Notepad ++中的代码? 我主要使用HTML,CSS和Python代码。 例如: <title>{% block title %} {% endblock %}</title> <link rel="stylesheet" href="/media/style.css" type="text/css" media="screen" /> </head> 至: <head> <title> {% block title %} {% endblock %} </title> <link rel="stylesheet" href="/media/style.css" type="text/css" media="screen" /> </head> 我记得Visual Studio使用Ctrl + K + D和NetBeans的function,但是在Notepad ++中找不到它,如果它甚至可以的话。
今天为同事做代码审查时,我看到了一个奇特的事情。 他用这样的大括号包围了他的新代码: Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } 如果有,结果如何? 这可能是什么原因呢? 这种习惯从哪里来? 编辑: 基于下面的input和一些问题,我觉得我必须补充一些问题,尽pipe我已经标记了一个答案。 环境是embedded式设备。 C ++服装中包含了很多遗留的C代码。 有很多C转向C ++开发人员。 在这部分代码中没有关键部分。 我只在代码的这一部分看到它。 没有大的内存分配完成,只是一些设置的标志,有些twiddling。 用花括号包围的代码就像这样: { bool isInit; (void)isStillInInitMode(&isInit); if (isInit) { return isInit; } } (不要介意代码,只要坚持花括号…))大括号后,有一些更多的twiddling,状态检查,和基本信号。 我和那个人交谈,他的动机是限制variables的范围,命名冲突,以及其他一些我无法理解的东西。 从我的POV来看,这似乎相当奇怪,我不认为大括号应该在我们的代码中。 我在所有答案中看到了一些很好的例子,为什么用花括号包围代码,但是不应该将代码分解成方法吗?
我们总是这样写这样的代码: void main(){ if(){ if() } 但是当我使用记事本++时 ,显示是: void main(){ if(){ if() } 如何使用Notepad ++自动缩进? 感谢乔纳森 ,我已经设置了它,但是没有任何效果。 快照如下: 我正在使用Notepad ++版本5.1.3。
当我从另一个文件复制代码时,格式化会搞砸,如下所示: fun() { for(…) { for(…) { if(…) { } } } } 我怎样才能自动在vim这个代码?
有没有办法让这看起来好一点? conn.exec 'select attr1, attr2, attr3, attr4, attr5, attr6, attr7 ' + 'from table1, table2, table3, etc, etc, etc, etc, etc, ' + 'where etc etc etc etc etc etc etc etc etc etc etc etc etc' 喜欢,有没有办法暗示串联?
当我select多行代码并希望像往常一样用TAB键缩进时,它只是将其全部删除。 我来自Eclipse,我一直这样做。 在Xcode中如何做? 我希望不是一条线;)