函数超过1000行会有什么后果吗?

babyboy 2002-09-08 05:08:57
写了一个利用api做打印和预览的函数,由于输出内容的复杂,此函数将超过1000行,以前
好像有文章说函数最好保持在200-250行左右,那
函数超过1000行会有什么后果吗?
...全文
192 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueshrimp 2002-09-09
  • 打赏
  • 举报
回复
就像面向对象一样,要小心巨大对象(函数)综合症


楼上的同志们说得对,后果就是自已看不懂。其实不拆成小函数,对电脑来说是一样的,但对人来说,就麻烦了

楼上那位同志也很对,看看Delphi提供的VCL或Sample里,那些可以学到好多编码方面的基础,比如缩进要求,代码规范。。。。
ggyy2002 2002-09-09
  • 打赏
  • 举报
回复
同意 halfdream(哈欠) 的说法
halfdream 2002-09-09
  • 打赏
  • 举报
回复
在VCL源码中,超过150行的函数已经罕见..
绝大多数一个函数都在50行之内.

如果逻辑简单,一千行代码中一定有重复代码.
如果逻辑复杂,一千行代码已经不是人能读的.
不管怎么样,这两种情况都是给整个系统埋下了定时炸弹.

不是危言耸听,
一般如果是学生或初学者编出这样的代码倒情有可原,
职业程序员写出这样的代码,会怀疑其基本的编码能力.

blazingfire 2002-09-08
  • 打赏
  • 举报
回复
应该没有什么固定的规定吧。如果逻辑简单,写上一个一千来行的函数也能接受,如果是逻辑比较难可能超过50行的函数就不好看懂了。
dupenf 2002-09-08
  • 打赏
  • 举报
回复
呵呵!! 看看delphi里的pas,就知道1000行,不算什么了
D_Q 2002-09-08
  • 打赏
  • 举报
回复
对建议 分解成 多个 函数
shuixin13 2002-09-08
  • 打赏
  • 举报
回复
最好是能够按功能拆分开,
不然你的程序可读性会很差
talisman 2002-09-08
  • 打赏
  • 举报
回复
按功能坼分。养成好习惯
yousoft2013 2002-09-08
  • 打赏
  • 举报
回复
没有多大后果,写得好照样可读
powerpopeye 2002-09-08
  • 打赏
  • 举报
回复
要滚很多屏才看得完
lqdmafeng 2002-09-08
  • 打赏
  • 举报
回复
可读性差,难于维护,不利于升级
9igogo 2002-09-08
  • 打赏
  • 举报
回复
一般长了就有大量的判断与嵌套,效率也未必高
而且维护时好辛苦阿
zhigangsun 2002-09-08
  • 打赏
  • 举报
回复
对程序本身没什么,不过你的程序的逻辑结构会不太清楚,特别是以后再用的时候。除非你的程序的注释很好。
halfdream 2002-09-08
  • 打赏
  • 举报
回复
不算什么理由都不能为一个函数长达1000行辩护。。。
恕我直言。。这样的代码气味太难闻。

我以前见过朋友写出过这样的代码。。结果是找不尽的BUG。。
理不清的思路,,投入了大量的精力和代价后。。结果还是被重写。
wangxd 2002-09-08
  • 打赏
  • 举报
回复
没有什么实质的影响,也不影响运行,就是可读性变差了
fdwangchao 2002-09-08
  • 打赏
  • 举报
回复
如果函数代码长,再可以细化,多写一些小的模块函数,这样可读性就加强了.
dailin 2002-09-08
  • 打赏
  • 举报
回复
很难读懂,也很难改。
jabmoon 2002-09-08
  • 打赏
  • 举报
回复
原来美国有个软件设计高手说过:如果函数的代码超过25行,那这个函数就应该说写得很臭了。
也许很偏激,不过有一定的道理,函数确实应该短小精悍,而且最好只实现一个功能。我自己就写过2000行代码的函数,还是嵌套了三层的嵌套函数,现在回头看看,真是臭,而且连改的心情都没了
madyak 2002-09-08
  • 打赏
  • 举报
回复
除了可维护性差以外,没什末其他后果!
qiujsh 2002-09-08
  • 打赏
  • 举报
回复
写长了没什么后里,不过函数结构可能就不是很清晰了,如果以后查BUG什么的都非常困难,看看经典控件的源代码,多学习学习他们写代码的风格.
加载更多回复(4)

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧