我正在用纯C开发一个开源项目,这个项目在一段时间前就已经开始了,但是直到最近我才找到时间添加一些特性。我可以清楚地看到我的旧设计的一些弱点,所以我试图重构我的旧代码。但是,我不知道如何正确地评估我的新代码。您知道任何用于代码评估的技术或工具吗?我很擅长面向对象的设计,但大约三年来,我一直没有接触过纯结构的设计。因此,我没有足够的经验,能够区分好的和坏的设计选择。
发布于 2010-12-27 18:16:01
这个问题是如此笼统,以至于答案要么涉及一点(比如“不要复制粘贴代码”、“一种方法必须做一件唯一的事情”、“正确地注释您的代码”等),或者是过于笼统,就像我的问题:
有两种方法来评估你自己的项目。

(来源)
这种方法的问题在于开发人员经验更多,更好的是评审,但您会收到更多经验丰富的开发人员的批评,因此这可能真的令人沮丧和沮丧。另一方面,如果你选择一个不想批评你太多或经验不足的开发人员,他们的评论可能不会太有用。
然后,您可以确定代码的生存期,并尝试定期检查它。例如,在我的例子中,寿命是一年:这意味着我可以修改我六个月前编写的代码,但是如果代码是两年前编写的,那么它很有可能被抛出,然后完全重写,因为它太糟糕了。
要继续,没有办法真正评估您自己的代码。在你写的时候,它对你来说是完美的。但是,同样的代码在由更有经验的开发人员检查时是不好的,当您在学习和理解新事物之后检查它时,同样的代码也是不好的。
换句话说,没有客观的方法来评估代码的质量:您只能相对于其他开发人员的代码来评估代码的质量(以及您的技能)(以及在学习了更多东西之后)。
发布于 2010-12-27 17:04:23
做测试驱动开发,不仅可以帮助您测试一切都是正确的,并给您的开放源码受众一种稳定感,而且还迫使您编写模块化、更好的架构和更精细的代码。
发布于 2010-12-27 16:21:26
如果你在寻找一个简单的答案,我会永远记住D.R.Y。不要重复你自己。如果您将代码从一个区域复制并粘贴到另一个区域,那么您可能做错了。剪切和粘贴是很好的,复制和粘贴不是那么多。另外,如果您的代码很难进行单元测试,那么我将关注设计。
https://softwareengineering.stackexchange.com/questions/30336
复制相似问题