关于如何设计完成一个完整的程序。
1:去年开始上班时,写的东西都是,填空似的,不需要考虑整体结构。所以感觉很轻松。
2:目前,需要自己完成一个程序,然而,随着代码的增多,修改一处带来的问题往往不好寻找。
3:我明白这是程序结构设计的问题,请教,如何或者说怎么样才能设计出,易于维护和修改的代码?
4:就代码书写来说,必要的注释有,代码长度等都适合,但是,总是会遇到增加一个功能,小小的功能,某些地方就会有问题。
5:各位前辈请不吝赐教。
[解决办法]
1、核心是对整个程序的设计和规划;
2、依据设计和规划分解程序单元、数据结构和程序配置;
3、建立良好的程序框架和目录结构;
4、建立良好的文档体系和开发日志;
5、用SVN等工具进行代码管理和版本控制。
[解决办法]
设计模式
[解决办法]
使用Source Insight软件
[解决办法]
做一个完整的程序,什么都不用,只需要一个:耐心。
顺便,这是我对自己软件开发的总结:
clonne在软件开发中没有成功过一次,根据5年的总结,clonne的失败是由以下几个原因导致的:
1.缺乏分析与设计
在开发前没有分析系统的结构,和模块的组织,没有明确的文档,缺乏有效的管理工具和跟踪工具。
直接导致后期无法维护、无法升级。即使重构,也无法解决源头问题,而且此时的重构是盲目的。
2.立即编码
没有经过明确的设计、整体的分析。没有经过环境的建立,缺乏版本工具、CASE工具、测试工具。
在这种前提下直接编写源代码,虽然可以快速得到一个可运行的程序,但是以后的升级、维护、
重构都会变得异常困难。最基本的文档在统计中基本没有出现,而这是软件最重要的开发根基。
没有文档就很难有一个参考,各个模块的接口、系统的组织、细节的实现、数据结构与算法的实现...
在1.5K行左右没有太大问题,但是当规模上升到2K以上时,由此带来的影响会冲垮这个脆弱的
项目。即使系统整体的结构、组织不明确,也必须要有个模块间的参考文档,不然软件中大量的
细节会随时淹没这个项目。
3.基础缺乏
没有掌握数据结构与算法,除了数组、栈、链表、二叉树之外不会其他,B+树等实际应用未能掌握。
缺乏数学基础,不能建立有效的算法,而这是软件效率的关键所在。
4.平台知识缺乏
无论是Win32、还是Linux/Unix、对于线程、内存、Socket等接口都不清楚。
PE、ELF格式不了解、语言库掌握不全。
每次开发的失败,基本上有和平台有关系,缺乏这些必要的知识,很难展开一个项目。
5.重复发明轮子
每次开发都习惯大量编写重复的函数、类等,不善于复用现有组件/类。
开始的时候热情高涨,而越到关键越无力,因为本身没有尚无能力建造这些基础。
而如果善于使用现有类库,将会避免所有无必要、浪费、毫无价值的重复工作。
不管怎么说,只要有耐心,就能做出完整的软件
[解决办法]
认真学习,参与开源项目或者研究开源项目,根据公司的项目情况,抽出时间在项目的基础上重写一些东西或者重构一些东西。
[解决办法]