免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4309 | 回复: 15
打印 上一主题 下一主题

请问大家都是怎样组织代码的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-24 16:12 |只看该作者 |倒序浏览
现在做c开发,在组织代码的时候感觉挺乱的。不知道该怎么组织。以前听说在头文件里放宏定义和类型的定义,
全局变量大家都是怎么组织的?我现在就困扰在这个全局变量和函数的组织上,不知道该放哪里好

论坛徽章:
0
2 [报告]
发表于 2011-06-24 16:50 |只看该作者
最好不要用全局变量,真要用,可以用static的

论坛徽章:
0
3 [报告]
发表于 2011-06-24 18:44 |只看该作者
回复 2# ITerr


    有些东西,他就要是在多个文件中来回的访问修改,都被弄晕啦,没办法。来的时候代码就是这样,我看着挺痛苦的

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
4 [报告]
发表于 2011-06-24 18:59 |只看该作者
当然是传递指向那些东西的指针了,

入指针派吧,兄弟,

信指针,得永生。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
5 [报告]
发表于 2011-06-24 19:01 |只看该作者
另外注意函数的命名,

目录的结构,尽量先设计好如何拆分模块,

主要保持整个项目的重用性以及灵活性,

实在不行,来点冗余的包装函数之类的,

我甚至在项目里面加一下空函数,来给未来的需求留空位置。

论坛徽章:
0
6 [报告]
发表于 2011-06-24 19:26 |只看该作者
回复 5# fender0107401


    现在我知道代码模块化的好处了,深有体会。
不过,你们就不用全局的变量吗?那种在多个文件中来回访问的变量?

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
7 [报告]
发表于 2011-06-24 19:34 |只看该作者
你把他们都封装在一个结构里面,结构名起的好一点,

然后你就可以拿着指向这个结构的指针出去拯救世界了,到时候维护世界和平就靠你了。

论坛徽章:
0
8 [报告]
发表于 2011-06-25 10:25 |只看该作者
想清楚哪些是对外的接口,把接口声名放到同名.h里。
非接口不要扔出来。

全局变量能少用就少用。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2011-06-25 11:18 |只看该作者
.h 是头文件,提供接口定义
.c 是源代码文件,提供模块实现

而全局变量一般来说都可以通过良好的设计将其归于某个模块,
那么只要在相应的 .h 里面做外部声明,在 .c 里面定义,就可以了。

如果是在存在不好归类的全局变量,那么你可以定义一个叫做 global.h global.c 的模块,这个没什么问题。

论坛徽章:
0
10 [报告]
发表于 2011-06-25 11:29 |只看该作者
全局变量很多年前我们公司就禁用了。{:3_200:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP