Questions tagged «code-quality»

有关编写高质量代码的最佳做法的问题。

9
程序员是否应该参加写作课程来增强代码的表达能力?
假设程序员是作者,并且编写代码来表达抽象的思想和概念,并且其他程序员应该阅读良好的代码而没有困难和误解,那么程序员是否应该参加写作课程来编写更好的代码? 抽象概念和现实世界中的问题/实体是编写优质代码的重要组成部分,并且对编码语言的良好掌握应该可以使程序员更轻松或以更好的方式表达自己的想法。此外,在尝试编写或重写某些代码以使其更好时,可以花很多时间来确定函数,变量或数据结构的名称。 我认为这也可以避免编写具有多种含义的代码,这通常会导致不同程序员之间的误解。代码应始终明确表达其功能。

14
如何找出源代码中的拼写错误是否是一个严重的问题?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我发现每天在我们的代码库中看到的拼写错误非常令人不安,我将重现一个非常简短但具有代表性的示例: ArgumnetCount Timeount Gor message from queue 不幸的是,这绝不仅限于一个人。我们的团队中有很多非英语母语人士对此做出了贡献,但是我也可以指出一些最糟糕的拼写错误给我们出生,成长为美国人的软件架构师。 这些信息甚至可以在电子邮件,演示文稿,文档中找到,无论我们在软件开发公司中拥有任何书面信息。 我想知道如何确定是否是一个严重的问题? 我一直很担心遇到这些拼写错误,但是我自己的个人官方政策是,我们没有为正确地拼写事情付费,而是为完成事情而付费,因此在公司内部,我从未真正批评任何人。但是我已经和我的一些密友提出了这个问题,但从未永远解决。

10
如何平衡代码质量与强大的开发人员个性
在工作中的代码审查中,我一直看到我认为“聪明”的代码和模式,尽管不一定会增加代码库的整体质量或可维护性。我在反馈中指出了这一点,并且对此反驳不服。这段代码在回购中并随后投入生产时,我有点担心。 我想保持一支团结一致的团队,所以我不想因过于保留我的意见而引起紧张。我也想为我们的客户创造一个很棒的产品,同时又不要太宽容。 传统上,谁对签入的内容和方式具有“否决权”? 如何在不踩踏脚趾的情况下将有效但又太复杂的代码删除?

10
如何快速清除“复制并粘贴”编码器?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 我需要一种方法来过滤掉那些只复制并粘贴代码然后希望它能起作用的人的简历,并检查它是否起作用。所有这些事情都是在不了解(或不了解)系统中其余代码的情况下发生的。 我当然知道复制和粘贴代码是学习新对象,控件等的一部分……但是,如何判断这是否占其开发生涯的70%(或更多)? 我遇到过一些高级人员,他们的技能对于该项目而言已经过时或无关紧要,以至于他们所做的只是Google,复制然后粘贴一些代码,而没有考虑整个解决方案。结果,我们在同一项目中误解了JSON,AJAX,回调,ASMX,WCF和回发。显然,每种技术的使用背后都没有一致性或逻辑性。 在最坏的情况下,这种类型的开发人员会创建安全问题和攻击媒介。 题 您将如何建议我过滤掉那些编程背景较差的人?我可以在简历级别上吗?如果没有,在面试中我该怎么做。

11
在进行其他操作时,是否应该修复先前存在的缺陷?
难题:在使用新功能或修复缺陷的过程中,您会在代码中发现遗留问题。你该怎么办?对其进行修复,并有可能改变代码的行为。直到现在为止,由于某种偶然原因,它一直在工作,或者还没有发现缺陷,或者值得任何人报告。您是否应该不理会它,并允许该问题使以后的代码难以使用?解决问题只会增加原始任务的时间,并迫使您进行回归测试。很少有人会欣赏这项工作。但是,以某种方式修复它似乎正确。问题较少的代码更易于重构和构建。 当我们致力于使Web应用程序现代化时,我一次又一次地发现自己处于这种情况。当我不切实际地处理这些旧错误时,我无法分辨自己是痴迷还是光荣。您如何处理这些情况? 谢谢,科里

4
善用try catch块吗?
我总是觉得自己很努力……试图在try / catching和代码之间保持正确的平衡,而这些代码又不会变成令人讨厌的选项卡,方括号和异常,就像火薯一样被扔回到调用堆栈中。例如,我有一个正在开发的使用SQLite的应用程序。我有一个抽象SQLite调用的数据库接口,以及一个接受要进出数据库的事物的模型...因此,如果/当发生SQLite异常时,必须将其扔给模型(被称为模型) ),谁必须将其传递给调用AddRecord / DeleteRecord / whatever ... 我喜欢异常,而不是返回错误代码,因为错误代码可以忽略,遗忘等,而本质上必须处理异常(允许,我可以立即捕获并继续前进...)肯定有比我现在要做的更好的方法。 编辑: 我应该用一些不同的措辞。我知道要重新投掷不同类型的球,我的措辞很差,这是我自己的错。我的问题是……这样做时如何最好地保持代码干净?过了一会儿,它才开始让我感到非常混乱。




4
您会在面试中向候选人展示您的生产代码吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我已经多次看到这种情况: 候选人喜欢公司,成功通过面试。然后开始工作,在第一天结束时,他确定代码库/项目不是他想要花费的时间。所以他很快就离开了。 我认为在面试时向代码库介绍候选人可能会解决此问题。甚至更好:将其与诸如“您将如何改进代码的这一部分?”之类的面试问题相结合。这样,如果候选人很适合“代码库”,这将是显而易见的。 您看到这种方法在任何地方都适用吗?您是否会在面试时向候选人展示自己的代码库:他们是否在面试过程中询问/作为面试过程的一部分?

7
您为之感到骄傲的最糟糕的代码是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我有一些让我感到骄傲的东西,其中一些是几年前由我自己写的。它不必一定是错误的,只是错误的代码。

3
阻碍广泛采用正式方法的障碍是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 形式化方法可用于指定,证明和生成应用程序的代码。这不太容易出错-因此通常用于安全/关键程序中。 为什么我们不经常在日常编程或Web应用程序等中使用它? 参考文献: 形式方法 B法 霍尔逻辑

2
鲍伯叔叔的“名词短语名称”是什么意思?
我正在阅读Bob叔叔的Clean Code。由于我不是讲英语的人,因此我无法理解以下陈述: 类和对象应该有像名词或名词短语的名称 Customer,WikiPage,Account,和AddressParser。避免的话想 Manager,Processor,Data,或Info在类的名称。类名不能是动词。 据我所知,没有一个Manager,Processor,Data和Info是一个动词,是不是?他想强调的重点是什么?

5
让所有开发人员进行代码审查
我是7-8个开发人员团队中的软件开发人员。我们已经进行了一段时间的代码审查,并且随着时间的推移,代码质量也有所提高。 但是我最近注意到,与其他开发人员相比,一些开发人员被要求进行更多的代码审查。恐怕是因为他们态度灵活。 在我看来,这不是应该执行代码审查的方式:所有团队都应对此负责,并且不应因为愿意接受更改而选择代码审查者。 您如何处理团队中的这个问题? 您是否建立了选择代码审查者的规则? 您认为代码审查者应该花时间进行(良好)代码审查而获得报酬吗?以及如何获得奖励? 感谢您的回答/想法。

2
超过16八百万的NPath复杂性是否现实?还是我损坏了工具?
我刚刚使用PHPMD(http://phpmd.org/)测量了一大段PHP代码(1153行),它告诉我代码的NPath复杂度为16244818757303303403077832757824。 在我看来,这似乎是一个疯狂的数字,这表明PHPMD可能已经以某种方式崩溃了。人类编写的一段代码甚至有可能具有如此高的NPath复杂性吗?圈复杂度为351。 两个可能重要的细节- 这是与HTML混合在一起的过程代码,PHPMD仅会测量面向对象的代码。为了解决这个问题,我用一个函数将整个文件包装在一个类中-这代表了如何使用它。 该文件由一系列嵌套的switch语句组成,并且在其中包含许多if..else语句-因此它确实非常复杂。 编辑 我想澄清的是,我不是在问PHPMD是否在骗我。我知道代码是一团糟,我只是想知道任何代码是否真的有那么糟糕。答案似乎是肯定的,这很有可能。
13 php  code-quality 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.