A design pattern I conceived in 2013 while contracting as a C# software engineer. The analogy coming from a popular kids board game.
The Kerplunk pattern effect goes on the principle that unknowingly in development of a project this design pattern is created through lack of programming standards, OO and project management, and when something is changed it effects everything badly and breaks, data loss etc….Kerplunk!!
(The developer pulling sticks out (bad code) that has been “fudged” and then it all collapses because of overly complex and convoluted code and horrible third party dependencies which are no longer supported by their devs)
It is best used to describe brownfield projects but also can be applicable to greenfield projects.
“Kerplunk” pattern requirements…
The code will have things along the lines of…
- Each Form / Control / Page Load having loads of code in sometimes in excess of 4000 lines.
- Hardly any Classes and no OO, no inheritance or reusable code either as too bespoke
- Duplicate cut and paste routines throughout assembles and entire solutions.
- Overly convoluted and unnecessarily complex routines
- Nonsensical data layers or multiple data layers including ORM, in line SQL, Stored Procs all doing the same data access crud etc.
- Database that is de-normalised and might resemble Access or Excel but is too large in size to warrant time cost for redevelopment. Prefixed with fld and tbl is a give away sign.
- Multiple data endpoints often written in different languages, i.e Soap, and Flat File based system with dodgy API’s
Also note the project typically will have no real documentation has A) been around years or B) recent creation or C) outsourced project that has come in-house, and perhaps a list of people that it culled on the way i.e; IT Managers, Developers, Business Project Managers, Business Analysts, Systems Analysts, Contractors etc.
NOTE : I will probably refine this at some stage.