免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345
最近访问板块 发新帖
楼主: enough_zerg
打印 上一主题 下一主题

你们觉得编码规范化真的不重要么? [复制链接]

论坛徽章:
0
41 [报告]
发表于 2012-03-31 14:43 |只看该作者
gtkmm 发表于 2012-03-31 03:26
我喜欢定义喜欢BT的宏,让人搞不明白有什么用。

比如这个:



用宏替换功能块能让程序变得更加"丰满"(不知道怎么措辞)

值得常用, 比如:

#define SKIP_MAGIC(zp) \
  do { \
      (zp)->next_in++; \
      (zp)->avail_in--; \
      (zp)->next_in++; \
      (zp)->avail_in--; \
     } while(0)
  这个宏是个功能块

#define INFLATE_LEN(zp) ((zp)->outBufSize - (zp)->avail_out)
  这个宏则是一个数值


  宏可以代表 版本号  数值  代码段   字符串...., 精心组织宏可以让程序更加花哨, 让语言的表达方式
  多样化.


但是用宏去替换那些局部变量, 我极不赞同


论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
42 [报告]
发表于 2012-03-31 14:46 |只看该作者
hellioncu 发表于 2012-03-31 14:38
被初始化的变量size小的时候,如一个小的结构,可能会被优化成几条mov指令


这个我知道, 只是弄出来表示。。。。。。。算了, 我都不知道干嘛叫这个真, 根本毫无道理的盖楼。。。。。。。。算我没发上面的鸟汇编吧

论坛徽章:
0
43 [报告]
发表于 2012-03-31 15:06 |只看该作者
本帖最后由 风间星魂 于 2012-03-31 15:07 编辑

你说他考虑不全,他说代码要简短,能跑就行
简短正确就行。不做多余检查,其他是调用者的责任

你说不应该用魔鬼数字,他说代码要写的直观
直观没错。

你说变量要初始化,他说这是多余
多余的初始化当然不能要,降低效率


你说不要写一些晦涩难懂的代码,他说这样证明自己NB
自己看不懂怪别人晦涩?


先找找作为维护者的水平问题吧。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
44 [报告]
发表于 2012-03-31 15:29 |只看该作者
对一个一二十年悠久历史的项目来说,啥代码规范都是笑话,能跑就谢天谢地了

论坛徽章:
2
天蝎座
日期:2014-03-28 10:18:052015年亚洲杯之乌兹别克斯坦
日期:2015-02-10 11:32:25
45 [报告]
发表于 2012-03-31 15:33 |只看该作者
OwnWaterloo 发表于 2012-03-30 16:01
可维护性的前提是至少要让合格的程序员来维护。
让一堆没有memset就会出乱子的程序员来维护,自然也只能继 ...



笑话碉堡了

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
46 [报告]
发表于 2012-03-31 16:02 |只看该作者
koolcoy 发表于 2012-03-31 15:29
对一个一二十年悠久历史的项目来说,啥代码规范都是笑话,能跑就谢天谢地了


GCC, Binutils, Perl 等等的维护者听了这话不知会作何感想,估计会当个笑话吧。

论坛徽章:
0
47 [报告]
发表于 2012-03-31 17:46 |只看该作者
回复 21# zylthinking

这个我理解是这样的

比如
{
    func1();
    func2();
    func3();
}

对于关心这层的维护人员,要求这部分逻辑要清晰,至于func1,func2,func3内部的实现,通过注释,把功能描述清楚,我知道func1的作用是什么就行了

维护func1的人,可能会觉的func1的逻辑复杂,但这个是他的工作,他需要去理清楚这个func1的实现细节,及完成功能,至于由怎么个逻辑来调用,他不需要关心

当然,可能两个维护的都是一个人,那也应该分层了解,今天我关系上层逻辑,我就不去深究实现细节,今天我要追实现细节,就忽略调用逻辑。


   

论坛徽章:
0
48 [报告]
发表于 2012-03-31 18:23 |只看该作者
本帖最后由 steven_2012 于 2012-03-31 18:23 编辑

写代码只是开发中的极小一部分,大部分时间花在调试,修改代码上的飘过。在调试过程中,极度感觉代码风格极其重要,太省事儿了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP