Manypeople已经讨论过函数大小。他们说一般的功能应该很短。观点从15行到“大约一个屏幕”之间有所不同,今天大概有40-80行。
此外,功能应该只能完成一项任务。有一个很长的初始化方法是不好的做法吗?
但是,有一种函数在我的代码中的两个标准中经常失败:初始化函数。
例如,在音频应用程序中,必须设置音频硬件/ API,音频数据必须转换为合适的格式并且对象状态必须正确初始化。这显然是三个不同的任务,取决于API,这可以轻松跨越超过50行。
带有init函数的事情是它们通常只被调用一次,所以不需要重新使用任何组件。你还会把它们分解成几个更小的函数,你会认为大的初始化函数是可以的吗?
+1'断言()'孤单。 – ndim 2010-04-12 13:32:15
+1:“不需要重新使用任何组件。”重复使用不是问题。写一些可以被别人理解和维护的东西远远更重要。 – 2010-04-12 13:33:17
我记得关于将标识符以下划线开头的建议提供给C编译器的内部使用,并避免它们在程序中使用。另外,你应该将这三个一次性的init函数标记为'static'。一次,它们不会在当前源文件之外使用。作为一个额外的好处,一个聪明的编译器会看到他们只被调用一次,并且只是内联代码(以防万一你担心这种调用开销)。 – ndim 2010-04-12 13:35:06