免费注册 查看新帖 |

Chinaunix

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

[C] 函数调用多少层为好??? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-03-08 19:29 |只看该作者
一般一个框架 代码都会分为几个层面的 至于框架套框架 再套框架 就不好说了...
还有就是 逻辑太复杂了 代码太长了 就需要拆函数...

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
12 [报告]
发表于 2011-03-08 19:29 |只看该作者
以前看的代码相对简单的缘故吧,来了一个新的大公司,关于文件系统的代码本身就比较难吧,代码深度太深了, ...
kingwolf520 发表于 2011-03-08 16:07


一般不会计较到底调用了多少层,因为如果函数命名恰当的话(这个要求不像它看起来那么简单),调用层数不会影响代码的可读性。 阅读调用栈比较深的程序的方法是,不要跟进每一个函数调用,而是通过函数名和调用时的参数直接猜该函数的功能。但是函数的长度还是有讲究的,一般来说一个函数最好控制在50行以内,原则上不要超过100行,并且每行宽度是80个字符。特殊情况除外,比如说,对性能有特别的要求,需要定义特殊的数据结构等。 这个可以参考一下重构和代码整洁之道这两本书。

论坛徽章:
0
13 [报告]
发表于 2011-03-08 21:55 |只看该作者
没规定吧  只要分层合理就行


我见过一个函数2k多行的 那个才叫难看

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
14 [报告]
发表于 2011-03-08 23:17 |只看该作者
没规定吧  只要分层合理就行


我见过一个函数2k多行的 那个才叫难看
皇家救星 发表于 2011-03-08 21:55


呵呵,我看见200行的代码都看不懂...就甭提那种2K行....

论坛徽章:
0
15 [报告]
发表于 2011-03-10 09:22 |只看该作者
看自己的阅读代码和写作风格,一般我觉得不超过5层。
nizvoo 发表于 2011-03-08 18:11



    我看的这个,,真的有十五层!!!

  

  经常看到找不到北…………


  内核代码还好吧…………


  还有,,,我看着那种各个模块定义的数据新型都烦,,,因为有好几个不同的小组相互协作…………不能有统一的吗?唉

论坛徽章:
0
16 [报告]
发表于 2011-03-10 09:23 |只看该作者
这个考虑太多没意思,只要代码结构ok,复用性不错就可以了,多几层调用又何妨
sparkzh 发表于 2011-03-08 19:17




OK,,,层数太多,,,我一层层看下去…………傻了我,,,杀了我吧…………

论坛徽章:
0
17 [报告]
发表于 2011-03-10 09:25 |只看该作者
一般一个框架 代码都会分为几个层面的 至于框架套框架 再套框架 就不好说了...
还有就是 逻辑太复杂了 代码 ...
wb112200 发表于 2011-03-08 19:29




同意,,,其实也是看了兄弟们说起的几本书,,,单个函数,深了不好,整个模块,深了不好,难以理解嘛。。。

论坛徽章:
0
18 [报告]
发表于 2011-03-10 09:32 |只看该作者
我说的意思是,很多函数,进去了一看,擦,没啥处理又交给了下一个,再看,晕哦,似乎处理不多,,,一层层看下去,晕了,傻了…………

论坛徽章:
0
19 [报告]
发表于 2011-03-10 09:40 |只看该作者
还有一个结构体变量命名问题,,除了st,pst,ui,ull,si,uc,sc这种类型前缀+变量含义名字外,,,能不能也加上是哪个结构体的变量的后缀???

之所以这么说,发现很多结构体变量里面有相互包括的变量,命名都是一样的,经常搞混了…………

论坛徽章:
0
20 [报告]
发表于 2011-03-10 11:08 |只看该作者
回复 17# kingwolf520


    呵呵 只是在工作中看到的一点儿现实现象...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP