Tag: 编码风格

你如何为文件的每一行运行一个命令?

例如,现在我正在使用以下命令来更改一些文件的Unixpath,这些文件是我写入文件的: cat file.txt | while read in; do chmod 755 "$in"; done 有没有更优雅,更安全的方法?

一个好的程序员的代码是什么样的?

我是一个业余程序员(用VBA开始,使excel更快),并一直在使用VB.NET / C#.NET,并试图学习ADO.NET。 这是我的第一篇文章,我对这个问题的主观性质表示歉意。 一直让我感到沮丧的编程方面是“好”的样子? 我不是一个专业,所以没有什么比较。 什么使得更好的程序员? 是吗: 他们对某种语言的所有对象/类/方法有更好的理解? 他们的程序更有效率? 他们的程序devise在更好的文档,function名称的好select等方面要好得多? 换句话说,如果我要看一个专业程序员的代码,我会注意到他们的代码相对于我的第一个东西是什么? 例如,我读Wrox出版社的“Professional ASP.NET”这样的书。 这本书是“世界级”的代码示例吗? 这是巅峰吗? 任何顶级的程序员都会看这个代码,并认为这是很好的代码吗?

Python的函数和类文档最佳实践

我正在寻找function/类/模块文档的最佳做法,即在代码本身的意见。 理想情况下,我想要一个评论模板,这是人类可读和Python文档实用程序消耗。 我已阅读docstrings上的Python文档 。 我明白这个部分: 第一行应该始终是对象目的的简短摘要。 为了简洁起见,它不应该明确地声明对象的名字或者types,因为这些名字或者types可以通过其他方式获得(除非名字恰好是描述函数操作的动词)。 这行应该以大写字母开头,并以句号结尾。 如果文档string中有更多的行,则第二行应该是空白的,从总体上与描述的其余部分在视觉上是分开的。 这句话需要多一点解释: 以下几行应该是一个或多个描述对象的调用约定,副作用等的段落。 具体来说,我正在寻找好评的函数和类的例子。

什么是正确的方式来sortingPython的`importX`和`从XimportY`语句?

python风格指南build议像这样分组导入: import应按以下顺序进行分组: 标准库导入 有关的第三方import 本地应用程序/库特定的导入 但是,它并没有提到两种不同的import方式: from foo import bar import foo 有多种方法可以对它们进行sorting(让我们假设所有这些导入属于同一个组): 先从from..import import ,然后import from g import gg from x import xx import abc import def import x 先import ,然后从from..import import import abc import def import x from g import gg from x import xx 字母顺序按模块名称,忽略导入的种类 import abc import def from g import […]

外部作用域中定义的阴影名称有多糟?

我只是切换到Pycharm,我很高兴所有的警告和提示,它使我改善我的代码。 除了这个我不明白的那个: This inspection detects shadowing names defined in outer scopes. 我知道从外部范围访问variables是不好的做法,但是影响外部范围的问题是什么? 这里有一个例子,Pycharm给了我警告信息: data = [4, 5, 6] def print_data(data): # <– Warning: "Shadows 'data' from outer scope print data print_data(data)

C ++构造函数的默认参数

有一个使用默认参数的类构造函数是好的做法,还是应该使用单独的重载构造函数? 例如: // Use this… class foo { private: std::string name_; unsigned int age_; public: foo(const std::string& name = "", const unsigned int age = 0) : name_(name), age_(age) { … } }; // Or this? class foo { private: std::string name_; unsigned int age_; public: foo() : name_(""), age_(0) { } foo(const std::string& name, […]

检入“注释掉”代码

好吧,这是我目前的工作造成了一些摩擦,我真的没想到会这样。 组织内部软件开发是一个新的概念,我已经起草了一些编码指南的初稿。 我build议“注释掉”代码不应该被检入到存储库中。 我已经说明了这一点的原因是存储库维护文件的完整历史logging。 如果要删除function代码,请将其完全删除。 存储库保存您的更改,以便查看更改的内容。 这导致了另一个开发人员认为采取这种路线的限制太多的摩擦。 这个开发者希望能够评论他正在编写的一些代码,但是不完整。 然后这个代码将永远不会被检入,然后不会保存在任何地方。 我们将要使用TFS,所以我build议搁置这些变化将是最正确的解决scheme。 然而,这并不被接受,因为他希望能够检查可能部署或可能不部署的部分变更。 我们希望最终能够充分利用持续集成并自动部署到开发Web服务器。 目前还没有Web服务器或数据库服务器的开发版本,但将很快改变。 无论如何,你的想法是什么? 你相信“注释掉”代码在存储库中是有用的吗? 我非常有兴趣听到这个话题的其他人。 编辑:为了清楚起见,我们不使用私人分支机构。 如果我们这样做,我会说你做你想要的私人分支,但不要将注释掉的代码与主干或任何共享分支合并。 编辑:没有正当理由,我们不使用私人或每用户分支。 这不是我不同意的概念。 我们现在还没有设置。 也许这是最终的中间立场。 现在我们使用TFS搁架。

最清洁的方式来跳过一个foreach,如果数组是空的

不是一个大问题,但我想知道是否有一个更干净的方法来做到这一点。 避免使用不必要的if语句来嵌套我的代码会很好。 如果$items是空的PHP会抛出一个错误。 $items = array('a','b','c'); if(!empty($items)) { // <-Remove this if statement foreach($items as $item) { print $item; } } 我可能只是使用'@'错误抑制器,但这将有点hacky。

我是不道德的使用一个variables名称,只有大小写不同的types?

例如,拿这段代码: var person = new Person(); 或为你Pythonistas: person = Person() 我常常被告知这是多么糟糕,但还没有看到这两行代码不道德的例子。 对我来说,人是一个人,试图给它另一个名字是浪费时间。 我认为在语法突出的日子里,这将是一个大问题。 但是现在,除了variables名以外,很容易告诉types名称。 哎呀,在SO上看到这个区别很容易。 还是有什么我失踪? 如果是这样,如果你能提供一个导致问题的代码的例子,这将是有帮助的。

应该使用现在还是过去式来编写提交消息?

那么你认为哪个更好,更直观? Fixed the XXX bug in YYY Fix the XXX bug in YYY Fixes the XXX bug in YYY Fixing the XXX bug in YYY 请提供您的理由。 注意:从总的angular度来看,我并不是想要把它和你喜欢的svn / cvs工具或者编程语言联系起来,而是把它看作是应该/可以应用于任何工具和编程语言的东西。