4 ms·
Those algorithms should be left as is. They are good. However, they should be encapsulated in an easy to understand API. That way, you (the usual programmers)
by Shorel 14y ago
Those algorithms should be left as is. They are good.
However, they should be encapsulated in an easy to understand API.
That way, you (the usual programmers) can call the code, and they (the very smart programmers) can write smart and efficient code. You are not supposed to tweak that smart code, just call it.
The solution is not to dumb down everything. That way leads to madness. Or Java.
- iends 14y agoFast forward a few years... None of the original developers are still at the company and one of your customers has discovered a bug in their implementation because of some obscure edge case and now you get to spend the next month understanding the complex code and writing a patch. Writing maintainable code is not the same as dumbing everything down.
- Shorel 14y agoJust the same as if someone finds a bug in Boost. It is hard to understand. It is efficient. It probably requires computer science knowledge to solve the issue. And yet it is as maintainable and well documented as they possibly can make it. Not everything can be 'business logic' in the sense of 'something a manager can understand but not code'. Some algorithms are just hard. And they are worth it. What would be Google without PageRank? What would be Skype without their LAN piercing modules? What would be iD without their game engines? What would be CryTek without their game engines? Worthless, that's the answer.