„Jeśli od początku wykonali swoją pracę wyjątkowo dobrze, duża część, w przeciwnym razie niewielka część”.
Ścisłe języki pokazują tę cechę. Bardzo niewiele musiało się zmienić w językach Nicklausa Wirtha, ponieważ były one planowane z precyzją. (To się ostatnio zmieniło dla Delphi i zmieni się bardziej w nadchodzącej uniwersalnej wersji wdrażania).
Oczywiście ma to również drugą stronę. Podejmując decyzję, że oryginalny kod jest wystarczająco dobry, na przykład w przypadku Microsoft Windows lub uroczych aplikacji, takich jak ACDSee, edytory tekstu lub dobrze znane aplikacje wiersza poleceń „ducha Linuksa”.
Mimo że aplikacje te mogą wydawać się niezręczne dla tych, którzy być może ich nie kochają, wykazują dobrze zaplanowaną cechę, a także dobrze zdefiniowany zestaw funkcji; nawet jeśli nie mają dzwonków i gwizdków, może to być preferowane; robią to, co jest w puszce, kompatybilność wsteczna jest świetna i prawdopodobnie nadal będą dobrze funkcjonować w przyszłości.
Photoshop miałby 90% tego samego kodu od wersji 5.0, jeśli przejdziesz przez zestaw funkcji. ; P Czy to? Nie dlaczego? Sprzedaż aktualizacji. Naprawdę nie możesz dziś więcej z tym zrobić.
Zestaw funkcji menedżera plików, aż do momentu, w którym chce robić FTP, internet i chmurę, jest w dużej mierze taki sam dla każdej platformy przez dziesięciolecia. Jedynym powodem, dla którego taka aplikacja wciąż nie jest w wersji 1.0, jest złe planowanie, kaprys, potrzeba aktualizacji - a przynajmniej w niewielkim stopniu zmieniający się świat wokół aplikacji.
Odpowiedź jest taka, że niektóre klejnoty pozostają w wersji 1.0 lub 1.0.x, ponieważ programista zdecydował się na zestaw funkcji, ukończył program bezbłędny i albo nie czerpie korzyści z niekończącego się dodawania rzeczy i naprawiania błędów w dodawanych rzeczach, albo przeprowadził się aby rozwinąć więcej klejnotów.
Cała reszta raczej nie pozostanie w pobliżu kodu w wersji 1.0. A dlaczego nie powinieneś przepisać aplikacji, jeśli masz świetny pomysł? Powinieneś, fajnie jest kodować! :) Tyle że nie tak było w wielu nowoczesnych produktach. Zmiana ze względu na zmianę (sprzedaż), która nie jest motywowana zestawem funkcji, oraz w mniejszym stopniu aktualizacją w celu dostosowania do zmieniających się platform, jest kolejnością dnia.
A w tej zupie oddziałujących na siebie części ciągle aktualizowanego oprogramowania niewiele baz kodów ucieka od wersji. Kilku wciąż marzy o fundamentach i modularyzacji (i nie wypuszczaniu ich przedwcześnie), ale zdecydowana większość utknęła w cyklu wydania-poprawki-aktualizacji.