编写灵活软件的指南?

时间:2010-04-26 14:45:01

标签: c++ flexibility

我一直在为我的(深奥的,如果你想要的话)编程语言开发一个C ++解释器。我注意到的主要问题之一:我从一个灵活的概念开始,进一步的I代码(Tokenizer-> Parser-> Interpreter)整个系统的灵活性越低。

例如:我最初没有实现include函数,但解释器已经启动并运行 - 我在实现它时遇到了极大的困难,这就像之后的“修补一些东西”。我的系统很快失去了灵活性。

  • 如何在开发过程中学习如何保持相对较小的C ++项目的灵活性和可扩展性?

3 个答案:

答案 0 :(得分:1)

如果你需要保留

  

C ++项目在开发过程中尽可能灵活且可扩展

那么你没有产品规格,你没有真正的目标,没有办法定义成品。

对于商业产品来说,这是最糟糕的情况。用一位知名博主(不记得是谁)来解释“在你定义不打算做什么之前,你还没有产品。”

对于个人项目,这可能不是问题。用它来体验并记住以备将来参考。重构并继续前进。

答案 1 :(得分:0)

  1. 在开始编码之前定义项目的结构。概述您的主要目标并思考如何实现这一目标。

  2. 对标题进行编码。

  3. 看看是否可以使用这组接口实现每个功能

  4. 如果没有 - >回到(2)

  5. 如果是 - >代码.cpp文件

  6. 享受。

  7. 当然,这不适用于真正的大型项目。但如果您的设计是模块化的,那么将项目划分为单独的部分应该没有任何问题。

答案 2 :(得分:0)

不要害怕进化(重构)。

如果有许多类适合主题,请创建一个公共基类。

不使用硬编码数据成员,而是使用指向抽象基类的指针 例如,不要使用std::ifstream使用std::istream

在我的项目中,我有阅读和写作的抽象课程。支持读写的类使用这些接口。我可以将专业读者传递给这些类而无需更改任何代码。数据库阅读器将继承自基础Reader类,因此可以在使用阅读器的任何地方使用。