"Якщо вони з самого початку зробили свою роботу надзвичайно добре, велика частина, інакше мала частина".
Суворі мови відображають цю ознаку. Дуже мало довелося змінити мови Ніклауса Вірта, оскільки вони були заплановані з точністю. (Це фактично змінилося останнім часом для Delphi, і більше зміниться з майбутньою універсальною версією розгортання.)
Звичайно, тут є і зворотний бік. Вирішуючи, що оригінальний код достатньо хороший, як, наприклад, у випадку Microsoft Windows, або прекрасні додатки, такі як ACDSee, текстові редактори чи добре відомий додаток командного рядка "дух Linux".
Незважаючи на те, що ці програми можуть здаватися незграбними для тих, хто, можливо, не любив їх в першу чергу, вони показують добре сплановану рису, а також чітко визначений набір функцій; навіть якщо у них немає дзвіночків, це може бути переважніше; вони роблять те, що є в олово, зворотна сумісність є чудовою, і, ймовірно, надалі буде добре працювати.
Photoshop мав би на 90% той самий код з 5.0, якби ви йшли за допомогою набору функцій. ; P Це робить? Ні, чому? Продаж оновлень. Сьогодні ти не можеш зробити більше з цим.
Набір функцій файлового менеджера, аж до того, коли він хоче робити FTP, Інтернет та хмару, значною мірою однаковий для будь-якої платформи деценнії. Єдина причина, що така програма все ще не на рівні 1,0, пов’язана з поганим плануванням, примхами, прагненням оновити - і в незначній мірі змінити світ навколо програми.
Відповідь полягає в тому, що деякі дорогоцінні камені залишаються на рівні 1.0 або 1.0.x, оскільки розробник визначився з набором функцій, виконав програму без помилок і або не отримує прибутку від нескінченного додавання матеріалів та виправлення помилок у доданих матеріалах, або перемістився на розробці більше дорогоцінних каменів.
Все інше навряд чи залишиться десь біля коду в 1.0. І чому б вам не переписати додаток, якщо у вас ідеальна ідея? Ви повинні, це цікаво кодувати! :) За винятком того, що мало місце в багатьох сучасних програмних продуктах. Зміни заради змін (продажів), а не мотивованих набором функцій, а меншою мірою оновленням, щоб відповідати змінам платформ, - це порядок дня.
І в цій супі взаємодіючих фрагментів програмного забезпечення, що постійно оновлюється, кілька кодових баз уникають змін. Деякі досі продовжують мріяти про основи та модулювання (і не випускати передчасно), але переважна більшість застрягла в циклі випуску-виправлення-оновлення.