- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先让我说,我不是编码员,但我帮助管理一个编码团队。团队中没有人有超过大约 5 年的经验,而且他们中的大多数人只在这家公司工作过..所以我们有点盲目,因此问题。
我们正在努力使我们的软件更加稳定,并且正在寻求实现一些“最佳实践”和编码标准。最近我们开始非常认真地对待这个问题,因为我们确定我们产品中的大部分不稳定性可能与我们在编译时允许警告通过而不修复的事实有关。我们也从来没有认真对待内存泄漏。
通过阅读本网站,我们现在正在与我们的团队快速解决这个问题,但这引出了一个问题,我们可以在团队范围内实现哪些其他实践来帮助我们?
编辑:我们使用 C++ 编写了相当复杂的 2D/3D 图形软件,它是跨平台的 Mac/Windows。
最佳答案
通常,编码标准/过程中的精确度/精确度级别与所需的安全级别直接相关。例如,如果您在航空航天领域工作,您几乎可以严格控制一切。但是,另一方面,如果您在计算机游戏论坛网站上工作……如果出现问题,也没什么大不了的。你可以放屁。所以YMMV,取决于你的领域。
关于编码的经典书籍是 Steve McConnell 的 Code Complete 2nd edition。拥有团队副本并强烈建议您的开发人员购买(或让公司为他们购买)。这将满足大约 70% 的文体问题。 CC 解决了大多数开发案例。
编辑:
图形软件、C++、Mac/Windows。
由于您正在进行跨平台工作,因此我建议您为 Mac(10.4(可能)、10.5、10.6)和 Windows(XP(可能)、Vista、7)设置一个自动的“ checkin 时编译”过程.这可以确保您的软件至少可以编译,而您知道什么时候不能编译。
您的源代码管理(我假设您正在使用)应该支持分支,并且您的分支策略也可以反射(reflect)跨平台性。拥有主线分支、开发分支和实验分支也是有利的。 YMMV;您可能需要对此进行迭代并咨询熟悉配置管理的人员。
由于它是 C++,您可能希望运行 Valgrind 或类似程序以了解是否存在内存泄漏。您可以获得一些静态分析器:我不知道它们在现代 C++ 习语中的效果如何。您还可以投资编写一些包装器来帮助观察内存分配。
关于 C++……Effective C++、More Effective C++ 和 Effective STL(所有作者 Scott Meyers)以及 Andrescu 撰写的 Modern C++ 等书应该都在书架上。您可能会发现 Lippman 关于 C++ 对象模型的书也很有用,我不知道。
哈。
关于coding-style - 除了 "treat warnings as errors"和修复内存泄漏,作为编码标准的一部分,我们还应该实现哪些其他想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681174/
warnings.warn() 和有什么区别?和 logging.warn()就它们的作用和应该如何使用而言? 最佳答案 我同意另一个答案——logging 用于记录,warning 用于警告——但我
这是我写的代码: #usr/bin/python3 import warnings def tt(): warnings.warn("123") return 10 x = tt()
我正在尝试使用基于文档中显示的示例的代码片段来提出DeprecationWarning。 http://docs.python.org/2/library/warnings.html#warnings
我正在尝试提出一个 DeprecationWarning,其中包含基于文档中显示的示例的代码片段。 http://docs.python.org/2/library/warnings.html#war
我有兴趣尝试在调用时操纵警告,而无需围绕方法创建支持基础设施。也就是说,我需要能够捕获警告,而无需使用以下代码包装代码: tryCatch(..., warning = function() { ac
我是 js 我正在尝试使用 this.setState({但我收到警告。 你们能告诉我为什么我收到以下警告吗 warning.js:45 警告:setState(...):只能更新已安装或正在安装的组
我的最小例子是 #!/usr/bin/python3 import warnings warnings.warn('Run Forest run!', stacklevel=2) warnings.w
本文整理了Java中com.ibm.wala.util.warnings.Warnings.asString()方法的一些代码示例,展示了Warnings.asString()的具体用法。这些代码示例
本文整理了Java中com.ibm.wala.util.warnings.Warnings.clear()方法的一些代码示例,展示了Warnings.clear()的具体用法。这些代码示例主要来源于G
本文整理了Java中com.ibm.wala.util.warnings.Warnings.add()方法的一些代码示例,展示了Warnings.add()的具体用法。这些代码示例主要来源于Githu
我一定是错误地理解了警告文档。我读它的方式,这段代码: use warnings; use warnings FATAL => 'all'; warnings::warn('numeric', 'bl
我在 Linux 上使用 OpenMP 指令编译 C 代码时收到此警告: warning: ignoring #pragma omp parallel Gcc 版本是 4.4。 这只是一个我不应该关心
我有一个奇怪的 g++ 行为,当显示任何其他警告时,它会显示有关无法识别的命令行选项的警告。 例子: struct Foo{virtual int bar() = 0;}; struct Bar:pu
在 Visual Studio 2010 中使用 C++ native 解决方案。 #pragma warning (push) 用于 cpp 文件的开头,在所有包含之后。之后,#pragma war
我习惯于开始我的每一个脚本 use strict; use warnings; 但是这里的一些知名人士推荐 use warnings 'all'; 如果我理解正确,后者甚至比第一个更好。所以我通读了d
我正在编码C#。我使用NCrunch在后台运行单元测试。我已经在CSPROJ文件中设置了(新的CSPROJ格式)。 我想将FxCop分析仪用作NuGet软件包:https://docs.microso
谁能帮我解决这个问题,我收到此警告消息 log4j:WARN No appenders could be found for logger (com.akak.book.shop.listener.L
我正在尝试了解更多关于 linux 内核中的 kobject 的信息,并且在尝试编写一个使用此类工具的模块时,我收到了错误和警告消息,因此我将相关数据的精简版本放在这里结构和相应的gcc的错误和警告信
http://docs.python.org/2/howto/logging.html 上的样本同时使用 warn 和 warning。 最佳答案 logging.warn 自 Python 3.3
警告[nuxt]两个解析为相同名称ProseCode的组件文件:。警告[nuxt]两个解析为相同名称ProsePre的组件文件:。更新nuxt 3后的警告->3.7&nuxt/内容2.4->2.8。如
我是一名优秀的程序员,十分优秀!