←back to thread

107 points pixelworm | 2 comments | | HN request time: 0.408s | source

I’m working on improving my software design skills, and it was recommended that I study existing well designed codebases. What are some publicly accessible codebases you would consider gold standards for software design?
Show context
pfannkuchen ◴[] No.45001808[source]
Maybe I’m just not good enough at paying attention, but for me it seems like you have to actually run into problems over and over and figure out how to avoid the problems. Then you end up being able to mentally simulate what problems you will run into, and design is basically all about avoiding future problems of various kinds (and balancing tradeoffs about which future problems to avoid and how much effort to put into each, whether you can solve multiple with one design play, etc).
replies(6): >>45002077 #>>45002139 #>>45002144 #>>45002299 #>>45002595 #>>45068338 #
teiferer ◴[] No.45002299[source]
> for me it seems like you have to actually run into problems over and over and figure out how to avoid the problems

This shows how immature the field of software engineering is. Imagine bridges or houses were built like that. Or your surgeon was trained like that.

Over time, we hopefully develop estblished norms, but at the moment, things are too much in flux. Put 5 sw engineers in a room, pose a problem and you will get not just 5 different solution proposals, but there will likely be strong disagreements on which approach is a good one.

"I recognize a good solution when I see it" is just not good enough for a serious engineering discipline.

replies(7): >>45002314 #>>45002440 #>>45002698 #>>45003480 #>>45006059 #>>45006883 #>>45008972 #
1. sshine ◴[] No.45002698[source]
> Imagine bridges or houses were built like that.

Bridge building is a lot more conservative when it comes to taking risk in the construction, but that is how we build bridges and lots of bridges collapse because of similar causes:

  - Design Deficiencies
  - Construction Mistakes
  - Maintenance Issues
  - etc.
An average of 128 bridges collapse annually in the United States. More than 17,000 bridges in America are considered "fracture critical" (vulnerable to collapse from a single impact).
replies(1): >>45010784 #
2. teiferer ◴[] No.45010784[source]
Engineering doesn't mean all processes are flawless and surely not that all humans participating are perfect.

The collapsing bridges in the US are mainly caused by insufficient maintenance, which is not an engineering problem but a political one. And the vast majority of collapses happens with bridges that are known to be unstable and already blocked for traffic. The engineering part did that, as if it screams "told you so" at the politics which doesn't allocate sufficient funds for maintenance.