今天阅读opencv2.0手册的时候,看到一句话,很有感触:
Unless
you are targeting embedded platforms, there’s no point to using the old
methods
(unless
you’re a masochist programmer and you’re asking for trouble).
如果没有操作底层硬件的需求,我们完全不必从那么细节的角度思考如何programming。考虑更多宏观的方法,专注于解决问题本身。
项目组做了一个渲染引擎,最初一代作者花了很多心思在利用底层的方法加速代码的运作速度(比如宏,利用宏展开代替函数,节省调用栈的开销;借用大量的位操作符),但这同时带来了一定程度上的封装困难和模块之间关联度的紧密的问题。这些问题,带给后续的开发者和维护者很多困扰,这些困扰带给了他们不理解系统运作的前提下就编写新功能。在这样的情境下添加的新功能可能会BUG倍出,结果与最初的设想大相径庭的情况。以至于有师兄想实现新功能的时候,问导师可不可以不在我们自己的引擎中实现=
=!
利用最精简的代码,写出最高效的程序(less
to write, to achieve
more),似乎是我们每一个程序员的终极目标。但有时候,我们可能需要牺牲那么一点性能,让代码多一点阅读性、可维护性、扩展性。
代码不仅仅考虑性能
时间: 2024-10-04 01:27:37