主题:[讨论]实际编程要注意什么?
彬雪飞舞
[专家分:40] 发布于 2011-05-10 12:20:00
这几天我用c语言编了一个俄罗斯方块,用是可以用了,但由于编程时没有整体把握,要实现某一个功能就去编那个功能,写这方面的函数,但是写完后发现要实现另一个功能时又发要调用这些函数,而实际参数之类又要去协调,函数又要去改,这样改来改去,程序的可读性就变得很差了,在这里想向大家请教,希望那些有经验的人分享一下你们编较长程序时的一些好的编程思路和方法,谢谢!
回复列表 (共11个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-05-10 14:38:00
一个中心:以数据为中心
两个基本点:以高内聚为基本点,以低偶合为基本点。
为把程序建设成为可扩展、强鲁棒、高性能的现代化程序而奋斗!
板凳
windy0will [专家分:2300] 发布于 2011-05-11 09:39:00
[quote]一个中心:以数据为中心
两个基本点:以高内聚为基本点,以低偶合为基本点。
为把程序建设成为可扩展、强鲁棒、高性能的现代化程序而奋斗![/quote]
学习了。我还有有两个问题想问一下:1. 命名,函数和变量总不知道要叫什么才能体现它的实际用途。2.有时候在实现一个函数foo(会被其他模块调用),需要写很多个辅助函数(不会被其他模块调用),是把这些辅助函数声明为static inline还是static。把这些函数单独放到一个文件,如foo-base.c,然后用include包含进来;还是和foo函数一起放到foo.c文件。
3 楼
cgl_lgs [专家分:21040] 发布于 2011-05-11 11:02:00
1、命名是有一定规则的,不同的公司、不同的项目都会有不同的约定,有些是用E文的长名,比如 :
convert_dia_to_radius等等等等~~~~
2、放在一起,声名为static,如果需要可以声名为inline(不用再static,因为它不会占符号表)
4 楼
windy0will [专家分:2300] 发布于 2011-05-11 14:08:00
有时候觉得申明为static函数不错,但有些函数也只被调用过一次,所以我以前总把那些函数直接申明为static inline,我以为这样既能内联,又不会被其他模块访问到。
但是上次,在同学那里用VC(VC++6.0)编译代码,static inline 不能通过编译,声明为inline也不行。
5 楼
cgl_lgs [专家分:21040] 发布于 2011-05-11 14:17:00
[quote]有时候觉得申明为static函数不错,但有些函数也只被调用过一次,所以我以前总把那些函数直接申明为static inline,我以为这样既能内联,又不会被其他模块访问到。
但是上次,在同学那里用VC(VC++6.0)编译代码,static inline 不能通过编译,声明为inline也不行。[/quote]是编译不过还是链接不过?inline函数也是不能跨文件调用的喔。当然除非你把它的实现放在头文件或等效文件中:)
6 楼
windy0will [专家分:2300] 发布于 2011-05-11 14:30:00
好像是有语法错误,在MingW中没有。
7 楼
cgl_lgs [专家分:21040] 发布于 2011-05-11 14:34:00
[quote]好像是有语法错误,在MingW中没有。[/quote]不应该啊,没遇见过呢。
8 楼
windy0will [专家分:2300] 发布于 2011-05-11 14:42:00
呵呵,当时没仔细看,问题就是出在那些个内联函数。static inline好像是语法错,inline是连接错,说的是函数没定义。
9 楼
彬雪飞舞 [专家分:40] 发布于 2011-05-12 08:47:00
[quote]一个中心:以数据为中心
两个基本点:以高内聚为基本点,以低偶合为基本点。
为把程序建设成为可扩展、强鲁棒、高性能的现代化程序而奋斗![/quote]
不太懂,那编程时是不是要画流程图之类的呢,怎么才知道某一个函数在另外的地方会以一种什么样的方式使用怎么样去设置形参呢
10 楼
cgl_lgs [专家分:21040] 发布于 2011-05-12 17:47:00
[quote][quote]一个中心:以数据为中心
两个基本点:以高内聚为基本点,以低偶合为基本点。
为把程序建设成为可扩展、强鲁棒、高性能的现代化程序而奋斗![/quote]
不太懂,那编程时是不是要画流程图之类的呢,怎么才知道某一个函数在另外的地方会以一种什么样的方式使用怎么样去设置形参呢[/quote]多看多写多实践!很明显您现在还不了解函数化分解及接口。
我来回复