第一次独立完成的C++小项目,40小时 + 5小时Update + 8小时Linux移植。
过程:¶
过程非常认真,一个星期主要就是忙这个,为了完成某个部分,有时饭都推迟吃,连续对着电脑10几个小时很累,晚上写到很晚才睡,休息也不够,这让我明白到程序员是不好当的!
成果:¶
最终版在Win7+VS2005、Ubuntu+G++环境都成功。
环境工具的选择:¶
VS2010随便写个程序在XP原生态下都不能运行!VC6太旧,XP下用得好。VS2008是Vista时代的魂魄。所以最好还是用VS2005。下载地址:Visual Studio 各版本下载合集vs2005下载vs2008下载vs2010下载vs2012下载
得益:¶
一开始将main分成四个独立子函数,用的是增量式开发,俗称打桩,用得比较好,好处是模块化。这一点非常有益。
记得刚开始学C语言的第21天,几天里,20个小时写出个蹩脚的图书馆综合系统。得益于这个经验,才令我相信我能完成。
《Accelerate C++》的确是非常适合学习C++的,以前看了不明白它的好,认真看才知妙!完全借用了它的字符图形函数处理类Picture。
改进:¶
要善用sprintf和sscanf:atoi、atof、itoa、itow函数是windows平台下实现字符串与数值相互转换的函数。Linux平台下请使用标准库中的sprintf与sscanf函数。
调试过程很大部分是在UI用户中,说明UI函数多,且易错。
房号设计02 - 23 ,0223 ,整数怎样表示,这些问题一直缠绕,一开始没解决好,就会影响全局。
备忘:¶
类的定义和实现在项目推进过程中不断修改,逐渐完善。
用户交互模块最大,ui()函数的ui.cpp文件有454行,14KB。有的模块文件只有几十行,这些开始时是没想到的。
什么是优雅,注重代码重用,函数最好小而精,一次只做一件事。也是Unix类系统的神髓。
老师对我的实验成果~~相当~~比较满意,给分也~~相对地~~高一点。感谢。
原文出自Pythonwood发表的https://blog.pythonwood.com/2013/07/大二C++课程期末作业——一个小工程项目总结/
扩展阅读
- 寒假挑战PythonTip(一人一python)总结——算法是程序的灵魂,程序员的心法
- 虚拟机系统正式转换——从windows到Linux-ubuntu新手
- K8S运维总结之关于Kubernetes项目最佳实践的思考