【问题标题】:Improving the quality of code?提高代码质量?
【发布时间】:2010-09-14 16:39:01
【问题描述】:

所以,在阅读这个网站时,我工作的商店似乎做错了很多事情,也做了一些正确的事情。我如何改进与同事一起工作的代码?我唯一能想到的就是以身作则 - 开始使用 Boost 等。还有其他想法吗?

【问题讨论】:

  • 您可能希望缩小一些范围。数以千计的书已经写了关于这个主题。 :)
  • 带头做什么?有什么你会带头的例子吗?
  • +1 表示“以身作则”

标签: c++


【解决方案1】:

您可能需要更仔细地查看您的商店做错了什么以及他们做对了什么。您实际上可以在那里改变什么? 对于自己的做法,您可以通过哪些改变来提高您或您的团队的技能? 在一个根深蒂固的商店中实现改变可能很困难。尝试提出代码审查(首先针对您的代码),这可能会引发讨论。

对于有形物品,我会查看Scott Meyers'Effective C++ 等。发展你的技能,你将帮助改善你周围的人,或者去一家有帮助的商店。另外,看看四人帮的Design Patterns 书。

【讨论】:

  • 我还要注意,考虑到问题的广度,这个答案很快并且可以一直持续下去。我假设这是一个在不同商店根本没有太多经验的人。
【解决方案2】:

代码审查是我发现提高整体代码质量的最佳方式。审查来自不同个人的代码,互相帮助提高了对不同技术的普遍认识,并有助于传播最佳实践。聘请比你更有经验的人也是一个很好的工具,但实施起来有点乏味。

【讨论】:

    【解决方案3】:
    • 阅读好的编程书籍
    • 向他人的代码学习 - 开源项目是最好的起点
    • 定期阅读优秀的博客和论坛 - Sutter mill、Coding Horror、Martin fowler 等
    • 代码审查
    • 单元测试
    • 使用良好的库,如 Boost、STL。也了解它们的实现

    【讨论】:

      【解决方案4】:

      以身作则总是一件好事,尽管让别人相信你的榜样比他们目前正在做的更好并不是那么容易。通过代码审查进行建设性的批评可能是您温和地建议同事工作方式的替代方法的最佳选择。关键是要让其他人相信你的提议确实更好,以他们可以欣赏的有形方式。

      【讨论】:

        【解决方案5】:

        有时人们必须看到你的方式比他们的方式更有效。让人们改变往往很困难。

        如果您还没有这样做,您是否考虑过编写单元测试?我发现它确实改进了我的生产代码,让我更有信心,我正在写的就是我应该写的。

        我喜欢 Jason 关于代码审查的想法。他们可以提供帮助,或者他们可以成为争论的地方——这真的取决于你如何定下基调。

        【讨论】:

          【解决方案6】:

          其他的尝试是添加unittestsdocumentation

          【讨论】:

            【解决方案7】:

            虽然这可能不是直接的答案,但我建议您拿起书 Code Complete。我发现它是学习如何成为更好的程序员的最佳资源。如果您通读整本书并理解其中的内容,您将真正了解如何让自己和您的代码变得更好。

            【讨论】:

              【解决方案8】:

              很好地架构和设计项目,这样任何开发人员都无法采取不同的方式来违反质量。如果你设定了一个伟大的设计,人们就会跟着路线走,他们会自动学习

              【讨论】:

                【解决方案9】:

                我发现编写单元测试对代码质量有很大帮助 - 这意味着您必须考虑您的代码将如何与测试和代码的其他部分进行交互。

                同行代码审查:检查代码质量也会让程序员思考他们是如何编写代码的。

                【讨论】:

                  【解决方案10】:

                  很高兴您认识到还有改进的余地并渴望尝试做出一些改变。我建议阅读 James Shore 的 19-week diary,他在其中记录了他在公司实施敏捷开发所经历的步骤。这是一场艰苦的战斗,但他的经验表明你可以有所作为。

                  【讨论】:

                    【解决方案11】:

                    问问题是一个好的开始。

                    具体来说,您可以:

                    • 承认你的代码很烂
                    • 开始请其他人,最好是有更多经验的其他人,审查您的代码
                    • 实现一个持续构建服务器 - 你必须是第一个使用它的人
                    • 要有勇气,因为这可能很困难
                    • 谦虚
                    • 读取代码完成
                    • 使用鼓励团队合作的软件开发方法。一些敏捷方法非常擅长这一点
                    • 阅读开发博客
                    • 加入用户组

                    改变很难,你必须成为第一个改变的人。

                    如果您在一个其他人都很高兴的环境中工作,那么您的工作将会很艰难。坚持想要提高代码质量。

                    【讨论】:

                      【解决方案12】:

                      我有偏见(由于我的工作),但根据您的预算(如果存在),静态分析是一种可能的选择。有许多不同类型的工具,其中一些还包括编码标准执行检查。

                      如果您使用 g++,您也许可以从 -Weffc++ 选项中获得基本的帮助。

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 2016-10-25
                        • 1970-01-01
                        • 2019-09-23
                        • 2010-10-24
                        • 2013-10-29
                        • 2022-06-17
                        • 2015-02-19
                        • 2010-11-29
                        相关资源
                        最近更新 更多