How frequently does the letter n appear in:
Q: Have you worked with a well designed application? Inspired by this question, I started wondering - is there or has there ever been such a thing as a well designed application? One where the architecture would be perfect and no refactoring would ever be needed; code would be easy to read and understand even for someone new to the project; changes could be done with a 100% certainty that they wont break anything; etc?
I must admit that whatever codebases Ive worked with, theyve all been more or less a mess. Even code that I start myself only stays organized at the start, and then slowly deteriorates as the time passes. Im even starting to accept this as part of life and cant figure out whether I should be worried about that or not.
So... is there such a thing as a well designed application? Or is all our code so shitty that there isnt even a point in trying to make it better, because it will never be good anyway?

A: Always fix broken windows
That way your code will continuously improve and reach that nirvana we dream of.
It can be done - I have experienced it myself.

A: Ive never run into a perfectly designed application, but I have come across blocks of code that seem immaculately produced. Because most applications involve many developers and perfect is such a matter of opinion when it comes to code that its impossible to build an application perfectly.
Although, I cant think of a single improvement that could be made to the Hello World! application. That one seems to meet all of its requirements perfectly.

A: There are some basic elements of good design, but many are subjective and relative to the current use of the application, the team that built it, those who have to maintain it, and the future implementation (Good luck knowing that.). 
Polymorphism is great until it becomes too complicated. Your 45 character function is clear, but its a pain to type.
I saw an app written in Basic for MSDOS. Elegant code for its time. Sold it to hundreds of customers and in 8 years never changed the main data structures. Someone decided it needed a GUI and completely rewrote it in VB. This steaming pile of mess took almost a year just to get the major bugs worked out. 
Just think, no matter how good your code is, it will eventually get thrown away. 99% of all iPhones will end up in a landfill.

A: I have a couple of times.  In fact, in my current project we just had to change the way we connect to the database, and I was able to make the (fairly significant) change in only a couple of days.  The database code was modular, well-factored (we used the Strategy pattern to isolate DB-specific sections) and we were careful to always call it through interfaces.  Abstraction and design patterns FTW!

A: Well, Ive ceirtanly never seen anything like this:

One where the architecture would be perfect and no refactoring would ever be needed; code would be easy to read and understand even for someone new to the project; changes could be done with a 100% certainty that they wont break anything; etc?

Having said that, I did work on a couple of very well designed projects. Both were very modular and imposed the principle of a single responsibility. The one I liked better was somewhat simpler - no home-built component system, less implementation inheritance, more compile-time checks.
But yeah, other than these two projects, everything else I have ever seen is a mess.

user
The passage contains one hundred and seventy-nine "n"s.
assistant