回 帖 发 新 帖 刷新版面

主题:关于 写程序的一点感想

从刚开始学习写,到现在不为规则所累,从几十,几百行到几千行,可是另一些东西困扰着我了。
随着遇到问题的复杂增加,程序也变的很大,尽管刚开始每个子程序都检验,到最后仍然会有问题,而且调试很痛苦,理论框架如何能转化为清晰明了的语言变得很重要啊,不是说解决问题的算法,而是整个程序的结构,如何能便于检查错误,我发现这个很重要。  

大家都有编程的经验,说说 分享一下吧。

回复列表 (共7个回复)

沙发

注释、功能化清晰、传参尽量少,有能力的话写冗余诊断代码,module太大的话可以考虑module夹杂着include写,这样便于组织。如果要求很专业的话,编程前要多进行思考,组织成文档。
当然最后可能还有bug,如果有时间就各种随机测试,没时间就release了慢慢改。

板凳

一开始规划好挺重要的. 例如将来是否会继续扩展功能,更换算法,进行并行等等. 我觉得这些都需要在编程过程中不断积累经验. 我还在积累经验,呵呵.
程序调试最难的不是编译器找出来的, 编译器能找出来的都还好解决. 最难的就是编译没有问题而结果出问题的情况. 这个时候我一般是把要解决的问题简单化,把计算机算出来的结果跟手算的解析解比较,甚至是一个过程一个过程比较.

3 楼

函数不能太长,功能要简单,相同或相近功能的函数不要写两个或两个以上。函数头注释要清楚……
(函数与子程序要求相同)
对于FORTRAN,能模块化的就模块化,能简单写的就不要复杂化。

4 楼


上面几位元老回答的很好啊,我也一直在摸索,一直在记录,养成一个好的编程习惯,应该说是一个好的范式。希望大家都好好探讨一下这个问题。

5 楼

个人写大一点的程序时 -- 随着对“事物”的认知程度不断“提升”,经常将程序的构架改动。有点类似读书的过程:薄 --> 厚 --> 薄。

6 楼

还要不断的创新.

7 楼

觉得前期的准备工作很重要,规划好每个子程序的用途,规划好每个MODULE。不过有时编着编着又会有新的想法,就有会改。不论规划的多好,出错是一定的吧,经验也是在错误中积累的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册