我算故我在分享 http://blog.sciencenet.cn/u/metanb

博文

给学生的一封信

已有 3066 次阅读 2010-10-18 15:41 |个人分类:团队建设|系统分类:观点评述| 编程

【按:这是给学生的一封信,强调编程的若干方面。】


XXX:
 
你的程序(***)计算出的第一层误差很大,我暂时查不出问题出在
哪里。
 
目前,你需要进一步改善程序,之后才能查找问题的原因。你按照
以下的提示改写程序
 
test.m程序是用来调用其他子程序以及给出初始的参数,不要把计算
磁场的代码放在这里。
 
计算磁场的代码应当是单独的子程序!为了一时的方便而避开子程序
是很不明智的做法。
 
所谓子程序,无非是一个具有输入变量和输出变量的独立系统,这个
系统通过输入变量和输出变量来与外部世界交换信息。一个子程序也
可能会调用其他子程序。一般来说,如果一段程序比较长,就应考虑
将它变成子程序。特别是,重复的代码要用子程序来代替。
 
设计子程序只有三步:
 
1. 我们想得到什么,就把什么作为输出;
2. 给出这个子程序的名称,它要能告诉读者这个子程序可以做什么事情;
3. 开始编写子程序的代码,将需要的条件作为输入。
 
 
对于磁场计算来说:
 
1. 我们想得到磁场,这磁场是用边界元方法算出的,
可以给这磁变量场命名为:bxbem, bybem, bzbem。这就是输出
变量。
 
这里的磁场每个分量保存到一个三维数组中,它可以看作由若干层
二维数组构成。你可以参考read3d的输出变量的数据格式。
 
2. 这个子程序的名称可以定为get_lfffbem。
 
3. 计算磁场需要的条件有:边界条件、法向导数、alpha值、层数、
每层对应的高度,等等,这些都可以从外部输入,所以要作为输入变量。
 
子程序中的输入、输出变量都要给出注释,说明他们的用途。另外也要
扼要地说明子程序的用途。总之,要尽量使读者容易看懂程序。
 
最后,不要使用“ss” 或“sss” 这种变量。写程序也好,写文章也好,你
要把它当成是写诗或是谱曲,要把它当作你的作品。
 
总之,我希望你在做研究的时候是在追求某种美好的事物,它应该是高于
生活的东西,而完成这件事情后,顺便拿到毕业证和学位证。(如果你要找
工作,人们看重的将是你的作品,或者说,你应该去那个看重你的作品的
地方去工作。)
 
 
李毅伟


https://blog.sciencenet.cn/blog-315774-374592.html

上一篇:恒星II
下一篇:恒星III
收藏 IP: .*| 热度|

4 孙学军 唐常杰 罗广营 丛远新

发表评论 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 19:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部