3 ms·
Setting aside the straw man of needlessly baroque architectures, I think there's an argument to be made that erring on the side of verbose but primitive code wo
by dasil003 13y ago
Setting aside the straw man of needlessly baroque architectures, I think there's an argument to be made that erring on the side of verbose but primitive code works in science because:
A) It needs to be read and understood by scientists who are primarily oriented around data rather than code.
B) Many people will need to read and understand the code who are not part of a core team maintaining a system over time. Peer reviewability is paramount.
C) In fact there is likely no "system" to be designed and maintained anyway, all scientific code is one-off in some sense.
All that said, software engineering as a discipline can further these goals, and it's a mistake to assume that getting "software engineers" involved will inevitably lead to complexification. A good software engineer can assess the goals and improve code along many axes, not just traditional enterprise software development patterns.
- wpietri 13y agoAgreed. Another mitigating argument in his favor is that he appears to be practicing debugger-driven development. Personally, it gives me hives, but given his circumstances (not an expert, lots of code, much of it not his, lots of throwaway code), it may be his best option.