开发者

C++ program design

How to effectively design a C开发者_运维问答++ modular program? How to learn?


For a beginner, you may want to take the "brute force" process:
1. Write a simple main function in one file.
2. Add some functionality, compile then test.
3. Refactor (use this keyword in Google).

Here are some guidelines for refactoring (not all of them may apply at the same time):

  • Repetitive functionality should be separated into another function.
  • Repetitive functions should be put into a separate source file and shared.
  • Code and data structures that share a common theme should be placed into a single module.
  • Classes that share common methods and functions should inherit from a base class containing those common methods and functions.
  • Use libraries to contain classes and functions of a common theme.

An alternative is to design a program into functional blocks and data structures. Repeat until the blocks and classes are simple enough for a non-programmer to understand. Then start implementing. Test Driven Development is a good process to use.


Here's a ton of books especially about that - http://www.aristeia.com/books.html


About the only answers to that kind of question that can even hope to fit in an answer here would be advice on books to read.


Read this: http://www.amazon.com/Large-Scale-Software-Design-John-Lakos/dp/0201633620

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜