Specifieke ontwikkelomgeving: complexe functionaliteiten - mogelijke invulling van BC235

  • Deze BC bouwt verder op BC234 (module Specifieke ontwikkelomgeving: eenvoudige functionaliteiten). Gevorderde principes zijn bijv.:
    • Open/Closed Principle - Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification. In other words, don't write classes that people can modify, write classes that people can extend.
    • Write Code for the Maintainer - Almost any code that is worth writing is worth maintaining in the future, either by you or by someone else. The future you who has to maintain code often remembers as much of the code, as a complete stranger, so you might as well always write for someone else. A memorable way to remember this is “Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.
    • Principle of least astonishment - The principle of least astonishment is usually referenced in regards to the user interface, but the same principle applies to written code. Code should surprise the reader as little as possible. The means following standard conventions, code should do what the comments and name suggest, and potentially surprising side effects should be avoided as much as possible. 
    • Single Responsibility Principle - A component of code (e.g. class or function) should perform a single well defined task.