Overengineered Software September 07, 2008 10:52 4 months ago
Problemet med design pattern, best practices, og paradigmer er overforbrug af et enkelt princip.
Uanset hvad du overvejer kan overforbrug af DRY føre til overengineered software i form af lag og klasser, overforbrug af Separation Of Concerns føre til class explotion, overforbrug af jar arkiver føre til vedligeholdes helved.
- Du begynder at bruge udtryk som “potentielt”, “i fremtiden”, eller “skalerbarhed”.
- Du tilbringer mere tid tænker på “indkapsling”, “abstraktion”, og “afkobling”, end det faktiske problem.
- Du tror kvaliteten af softwaren bliver bedre ved at øge mængde af frameworks, biblioteker og programmeringssprog.
- Du er i stand til at erstatte hvert enkelt koncept, klasse og lag. Men kunden har det ikke som krav.
- Du forstår ikke koden og bliver nødt til at købe flere produkter og konsulenter for at forstå det.
- Du hader monolitiske strukturer så alt kan konfigurtioneres, udskiftes, mens det køre. Hvis det bliver for komplekst, gå til punkt 5.
- Du begynder at gennemføre en generator til at håndtere kompleksitet.
- Din konfigurations fil bliver større end din kode.
- Din brugergrænseflade er så flydende at kun domæne eksperter forstår koden.
Sund fornuft er balancen mellem begreber og paradigmer på en løsning. Meget urealistisk i den virkelige verden.
By Frank Vilhelmsen - 2 tags: architecture job - Add comment


