3 ms·
I'm not super experienced but I read enough to know bad code when I see it. * No separation of UI/Code. WinForms in all it's glory. * SELECT * in code
by wernercd 10y ago
I'm not super experienced but I read enough to know bad code when I see it.
* No separation of UI/Code. WinForms in all it's glory.
* SELECT * in code behind. Never anything else.
* WHERE field LIKE '{}' - never 'where field ='. Always like.
* {} is a from text entry fields. Sql Injection? Sanitation? Boundaries? What's that?
* Separate code paths for different companies because each customer had their own unique stack that diverged - Database tables, Winforms, processes. IF Company A then SELECT * FROM DBA.dbo.TblA WHERE FieldA = '{}' ELSEIF Company B then SELECT * FROM DBD.dbo.TblB WHERE FieldB = '{}'... etc.
* Copy Pasta all the way down.
* Never used source control until New Guard arrived (me being newest developer).
* Test environment? Waste of time... Everything done against production. I saw the old programmer jack up a sql query resulting in a data restore, and I've been here less than two weeks.
You can argue that what they did "works"... but you can fix a car with duct tape... then wonder why the door flies off at 65mph.
Trust me (as much as you can trust a random guy on the interwebz)... Their code is shit. Not "I'm an artist and think your artistry is shit" shit... but every bad idea you can consider in coding shit.
- vonmoltke 10y agoI'm not saying their code isn't shit, just that it is shit code that works (for some purposes at least). That is much different from not being able to generate code that works at all. I would say these guys can "code their way out of a wet paper bag". They will just make a royal mess doing it.
- wernercd 10y agoI guess it's just a difference of terminology and/or nuance in terminology getting lost in "text". Hard to show sarcasm or "air quotes" in a text post :)