当前位置:首页>科技 >内容

一个函数多少行_一个函数究竟能不能超过50行呢

2024-03-02 16:18:49科技漂亮的斑马

"尽量不要让一个函数的代码超过50行 "可能有读者看到过这样的描述,但是自己做项目的时候,很多函数比较多(50多行),会怀疑这样写是不是不

一个函数多少行_一个函数究竟能不能超过50行呢

"尽量不要让一个函数的代码超过50行."

可能有读者看到过这样的描述,但是自己做项目的时候,很多函数比较多(50多行),会怀疑这样写是不是不对。

那么,一个函数可以超过50行吗?今天,我们来谈谈函数代码的行数。

1、关于代码行数的问题

一个函数有多少行代码是合适的?1000多行代码有什么问题?在各种编程规范中,并没有强制要求函数代码的行数必须小于* *。一个项目的所有功能少于50行代码是可以的。反过来,如果你有一个超过10000行代码的函数(只有主函数),如果代码没问题,你可以编译它,照常工作。我们通常看到的“一个函数的代码尽量不要超过50行”,其实是相对于结构化、模块化的代码而言的。很多情况下,代码会超过50行,甚至上千行。

2、模块化代码行很少。

代码为什么要模块化?

这个问题就好比:图书馆的书为什么要分类?

因为我们的代码要实现各种功能,代码模块化后,会更便于我们后期的管理、移植和维护。

代码模块化是编程中的一个重要思想。有了模块化思维,开发项目会让你事半功倍。

这里看之前分享的文章《嵌入式开发中的两点编程思想》。

另一方面,为什么模块化代码的行数更少?

代码模块化就是把要实现的小功能模块用一个函数封装起来,这也涉及到本文提到的函数代码行数少的问题。

你会发现很多底层驱动,中间层,应用层的代码其实都是用模块化编程的。

例如,底层驱动程序库函数:

另一个例子是RTOS模块化代码:

看这些模块化代码,你会发现每个函数的行数并不多,基本保持在50行。甚至有些功能代码只有一行:

int 16 u OS VERSION(void){ return(OS _ VERSION);}

当然,并不是所有的模块化代码行都小于50行,有的是100行,有的是200多行,但总体来说,模块化代码行的数量还是比较少的。

3、多行代码功能

模块化代码功能,功能一般少于50行。但是在实际编程中,实际上有很多超过50行的函数。比如一些复杂的算法、通信协议、应用代码等。这些函数可能都超过50行。这么说吧,如果用一些条件来判断是不是else,或者switch case,再多几个条件(比如说25),基本上这个函数代码就是50多行。在一些功能代码中也有很多局部变量,通过定义更多的变量来定义50多行功能代码:

一般来说,超级多行函数在业务逻辑应用代码中很常见。

有时候,当我们编写一个应用程序代码时,我们可能会不自觉地复制和粘贴数百行代码。(主功能实现了所有功能,是不是像认识一样?)

我以前做过这个,特意找了几年前写的代码,一个触摸屏处理函数,有几千行:

该函数使用iElse处理大量触摸键信息(数百次触摸),还包含一些指令和数据分析分类。这个函数的代码行注定不会少于50行。(当然,这个几千行的功能肯定有让步的空间,减少三分之一应该没问题。)

:最后

一个超过1000行代码的函数理论上是可能的。但在实际开发中,要尽量避免“超长行函数”,尽量控制在50 ~ 80行代码。“超长线功能”在实际开发中也很常见。如果函数太多,代码要尽可能标准化,比如代码命名、对齐、注释等。因此,在一个功能代码中有大量的功能。不要怀疑自己。在“压缩”代码行的同时,规范代码就OK了。

声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

Top