打印

一线研发之声:嵌入式C编程经验 之 全局变量猛于虎

[复制链接]
楼主: sedatefire
手机看帖
扫描二维码
随时随地手机跟帖
41
caiwenbin| | 2012-1-16 20:51 | 只看该作者 回帖奖励 |倒序浏览
去年离职的时候,被接手的程序员背后骂,骂我的代码可读性差,老同事告诉我的!
主要是代码中宏定义太多!而且很多都有宏嵌套!我自己读没问题,别人读确实比较郁闷!
主要是现在单片机太多,就象匠人说的:现在的单片机是,各领风骚几个月!
每个项目用的单片机都不同,一个项目中可能用到几个不同的单片机!
如果不把各个单片机的操作方法和函数,统一成名字一样的宏定义的话,我脑子比较笨,很容易搞糊涂了!
例如:
#define IRQ_ON()                ********              //开总中断
#define IRQ_OFF()               ********              //开关中断
#define BIT32(i)                   ((u32)(1)  << (i))
#define BIT32_SET(dat,i)     (dat  |=BIT32(i);)
#define BIT32_CLR(dat,i)     (dat &=~BIT32(i);)

最近在学C#,最郁闷的就是C#中没有宏定义!一直在寻找C#中怎样实现宏定义!
宏定义多了,确实可读性会差点,我水平比较低,写不出让别人能读代码,
对我来说,代码的要求,第一机器能读,第二我能读!别人能不能读我就管不了了!

使用特权

评论回复
42
yytdragon| | 2012-1-16 21:04 | 只看该作者
可读性差?用source insight 呗
软件能干的事,费那个脑子干嘛

使用特权

评论回复
43
caiwenbin| | 2012-1-16 21:07 | 只看该作者
LS 兄弟指的是在C#中实现宏定义类似的方法么?

使用特权

评论回复
44
caiwenbin| | 2012-1-16 21:08 | 只看该作者
在线等L楼上回复!

使用特权

评论回复
45
caiwenbin| | 2012-1-16 21:13 | 只看该作者
有个问题请教匠人,把一个文件中的全局变量和全局函数(指针的方式)封装在一个结构体内,这样做我觉得挺好的,但是我好几个同事和领导,却非常反感!

使用特权

评论回复
46
yytdragon| | 2012-1-16 21:21 | 只看该作者
我的意思是,宏定义再多,再能套,有了source insight 也可读了
曾经也是很反感用大量的宏定义
自从学会用source insight ,……

使用特权

评论回复
47
caiwenbin| | 2012-1-16 21:34 | 只看该作者
百度source insight  中

使用特权

评论回复
48
caiwenbin| | 2012-1-16 21:39 | 只看该作者
source insight确实是个好东西,
但是不知道能不能用来在C#中宏替换关键字,
例如:想用U32代替int在程序中用!

使用特权

评论回复
49
caiwenbin| | 2012-1-16 21:40 | 只看该作者
写错了,应该是S32代替int在程序中用!

使用特权

评论回复
50
程序匠人| | 2012-1-16 23:15 | 只看该作者
有个问题请教匠人,把一个文件中的全局变量和全局函数(指针的方式)封装在一个结构体内,这样做我觉得挺好的,但是我好几个同事和领导,却非常反感!
caiwenbin 发表于 2012-1-16 21:13


对于一个团队来说,“一致的风格”可能比“更高明的风格”更重要。

另:我觉得增加可读性的一个重要方法,是注释。

使用特权

评论回复
51
程序匠人| | 2012-1-16 23:16 | 只看该作者
我的意思是,宏定义再多,再能套,有了source insight 也可读了
曾经也是很反感用大量的宏定义
自从学会用source insight ,……
yytdragon 发表于 2012-1-16 21:21


source insight ?这个要关注一下。

呵呵,一直用UE的。

使用特权

评论回复
52
caiwenbin| | 2012-1-17 01:23 | 只看该作者
谢谢,匠人的回复!

使用特权

评论回复
53
Cortex-M0| | 2012-1-17 06:33 | 只看该作者
source insight
关注一下。

使用特权

评论回复
54
yytdragon| | 2012-1-17 08:28 | 只看该作者
52# 程序匠人
曾经用 UE,
后来发现还是notepad++ 要更风格,更人性一点,
这是我单文件阅读时,

当我阅读一个项目工程的N多文件时就用source insight 了

使用特权

评论回复
55
zaianda| | 2012-1-17 10:56 | 只看该作者
顶!!!

使用特权

评论回复
56
小胖妞姜| | 2012-1-17 15:15 | 只看该作者
牛人呀

使用特权

评论回复
57
pjlmx| | 2012-1-18 11:44 | 只看该作者
:handshake

使用特权

评论回复
58
sedatefire|  楼主 | 2012-1-18 23:46 | 只看该作者
急急如律令,再顶 :lol

使用特权

评论回复
59
zc564075839| | 2012-1-26 16:53 | 只看该作者
记号

使用特权

评论回复
60
sjc_sugar| | 2012-1-31 18:04 | 只看该作者
一直学习中...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则