Loading and building in VS
- (Non)Framework plugins, thrird party or open source components and the application framework and their dependencies (Split, remove waste?)
Test driven delay
- Unit, integration, data access, ui, tests. When, How Reorganize?
- Out of memory exceptions
- Overall performance of tests
- Usage test examples
- Quality of tests
Dark corners in code
- Function, FunctionStore, NetCdfFunctionStore, FunctionBindingList, IVariable<T>, VariableFilters
- ModelBase
- DataItem and DataItemSet
- (Project)TreeView and NodePresenters
- GuiCommandHandler
- PersistentEventedList
- INotifyPropertyChanged, PropertyChanged aspects
Complex topics
- (Advanced) NHibernate
- Cross-Threading
- Aspects
- Dynamisch Rekenen in Habitat
{"serverDuration": 45, "requestCorrelationId": "b63fa7fcc570c9b4"}
3 Comments
Unknown User (muurman)
Mijn top 5 van TODO's (in mijn mening foutbronnen)in algemene zin
1 Gebrek aan test van bestaande code. Levert veel code op die meestal werkt maar niet altijd. Maakt schatten en bouwen op bestaande code lastig.
FIX : tester(s) in het team.
2 Gebrek aan encapsulatie van classes (veel members onnodig public), maakt code complex en nodigt uit tot sterk gekoppelde classes. Hier schaat ik ook event bubbling onder omdat dit ook encapsulatie breekt (je exposed je internals).
FIX : mentaliteit wijzigen in private tenzij...ipv public tenzij
3 Singleton references (Habitat.Plugin.Instance.Gui.Apllication.GuiCommandHandler..etc. Maakt code ontestbaar en zorgt er voor dat er verborgen afhankelijkheden zijn.
FIX : niet doen en afhankelijkheden 'injecteren' bij instantie van class.
4 Automagische properties. Properties die veel code voor je doen omdat het handig is. Bijvoorbeeld een add doet veel meer dan alleen Add. Maakt doorgronden lastig omdat veel code side-effects heeft.
FIX : Acties expliciet maken en niet te veel 'clever' code
5 Ambitie bij implementatie iets lager stellen. Kies de simpelste oplossing in eerste instantie. Bij het opstellen van wat er gedaan gaat worden wordt te weinig gekeken naar implementatie mogelijkheid en toegevoegde waarde voor klant (bijvoorbeeld data in Toolbox)
FIX : Lever eerst iets werkends en maakt het dan (eventueel) complexer
Stinky Code:
1 Functions en bijbehorende complexiteit, zou hier en daar simpeler kunnen door wat consessies te doen aan functionaliteit.
2 PropertyChanged aspects. Voegen veel onhelderheid toe.
3 TreeView nodepresenters. Logica is niet afdoende en onhelder.
4 DataItemSet
Unknown User (don)
High level issues
More issues
Unknown User (berg_p)
During start up of DeltaShell many errors are thrown. This is bad because:
We should eliminate these exceptions