Re: [讨论] 主管不认同书本的知识,说我没学好程设

楼主: wens (文思)   2016-05-08 10:27:33
以下不见得跟 Java 有关,纯粹讨论一点关于函数参数过多可能
导致的问题
1.难以阅读、修改不容易
函数的参数越多,表示一个人要使用或是编辑的时候,需要判断
断词 (想不到比较好的说法) 的地方就越多,也越容易失误。
有些编辑软件可能会帮你 highlight 你目前编辑到的参数,或是
提供额外弹出的提示 (如自动完成) ,但不是所有的都会。也有
方法在写的时候让他更明确,如一个参数放一行,但也不是每个人
都喜欢这样的 coding style。而且十个参数就是十行,也占据了
不少版面。
参数多,漏给参数的机会也增大。如果好死不死有许多类似的函数
多载 (在建构子遇到的机会应该不小?) 且参数型态又一样,是不是
很容易呼叫到不正确的建构子呢?
此外, C++ / Java 有 namespace / package 要写,参数型态本身
就已经够长到不好阅读了。
2.效能 & 空间
我不确定其他高阶程式语言怎么实作,至少在 C / C++ 里面,某些
平台上最前面几个 (0~4, 看平台) 参数是用 register 传,剩下的
要放在stack 上。通常编译器做最佳化的时候已经会直接一次把需要
的空间留下来,效能上大概不会有差,因为编译器可以安排运算指令
让需要传的资料事先存在对的位址。但是堆叠的空间仍然是需要的。
在多绪执行的程式里面,程式堆叠不一定如大家预期的是可以一直
成长的。在一些系统里面,程式堆叠是固定大小,且这个大小还会
影响到开新的执行绪的速度。
最后,写程式很多选择都是取舍。要知道一个方法取什么舍什么,
才能真的判断当下用这个方法适不适合。或许你的主管有他的想法
他没讲清楚 (可能他认为你还 junior? 我无从得知),也可能单纯
是他鸭霸而已。
作者: siriusu (かがみは俺の嫁。)   2016-05-08 11:11:00
作者: ADYex (寵物狼音樹)   2016-05-08 11:38:00
推②效能的部份我从来没有想到过 XD,学习了。
作者: Luos (Soul)   2016-05-09 11:19:00
从来不管效能 只在乎程式美不美
作者: viper9709 (阿达)   2016-05-09 23:06:00
推~

Links booklink

Contact Us: admin [ a t ] ucptt.com