场景:我有一个需要以某种方式进行调整的功能(例如;在不同的地方使其工作略有不同)。由于某种原因,我最终不得不在函数中或现有的调用站点中为代码添加一些难看的东西。假设两种情况下的总和“丑陋”相同。
问题是我应该选择哪个选择,为什么?
我应该封装它以便不需要查看它还是应该提取它以便它不会在函数中添加语义垃圾?
什么会影响您的选择?如果:
除非从当前位置开始,否则“从不”调用该函数。
对函数的新调用不需要“丑陋”。
该功能现在非常干净和通用
该功能已经是黑客工作。
你写的功能
你没有功能
等等
最佳答案
把丑陋的功能放下来。如果是C ++,请确保在.cpp文件中具有实现。也许您可以考虑编写两个函数来从主函数体中提取丑陋的东西。
存在过程/ OOP编程来将“丑陋”从界面中移除(除其他外)。重要的是要认识到,调用该函数所需的代码越多,其作用就越小。还请记住清楚地记录代码,并注意其中包含丑陋的代码以及原因。
另外,如果此功能足够大,您可以考虑将其放在自己的.cs文件或.cpp / .h对中(取决于您使用的语言)。
关于language-agnostic - 我应该在哪里放置“丑陋”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/206968/