Програмування з використанням ідей – додаток для обчислення податків Visual C # (Sharp)

На даний момент у нас немає ні найменшого уявлення, з чого починати разротку нашого застосування для обчислення податків, т к ми не знаємо подробиць реалізації На відміну від попередніх прикладів, де ми могли легко прикинути, які тести були необхідні, в даному прикладі таку прикидку зробити не тао і просто Можна було б почати з реалізації загальних правил оподаткування, після чого застосувати їх до конкретної податковій системі Але що якщо наші реізаціі загальних податкових правил виявляться неправильними У такому випадку Напані коду для них буде просто втратою часу

Припустимо, що ви написали набір базових класів, що представляють загальне ядро ​​оподаткування, на основі інформації, представленої в розд Введення в оови оподаткування раніше в цьому розділі Щоб застосувати ці базові класи, потрібна конкретна задача, і ви очікуєте клієнта з таким завданням Незабаром до вас оащается такий клієнт з Великобританії із замовленням програми для обчислення податків Так як у вас вже є базова заготівля програми, ви приємно дивуєте клієнта, повідомляючи йому, що він може отримати свою програму набагато швидше, ніж розраховував У цьому і полягає суть базових класів – Створивши одну базову заготовку програми, заощадити час на розробці додатків під конкретні вимоги Теоретично, без базових класів, кожне докладе потрібно було б розробляти практично з нуля

Але досвід показує, що якщо тільки базові класи не розроблені на основі високопрофесійних аналізів господарської діяльності, то шанси, що вони будуть корисними, досить незначні Швидше всього, щоб змусити програму на основі базових класів працювати належним чином, їх код доведеться модифікувати усілякими способами Для розробки програми для клієнта з іншої країни весь процес підгонки базових класів під конкретного податку законодавство доведеться виконувати наново Поставлені перед цим отоятельством керівники починають усвідомлювати, що вкладення грошей і зусиль у розробку базових класів була не такою вже гарною ідеєю

У чому ж причина Може бути, винні розробники, які створили не ті базові класи Або ж програма обчислення податків дуже складна, і труднтей в її реалізації ніяк не можна уникнути Ні те, ні інше Справжня причина

провалу базових класів полягає в самій ідеї базових класів Справа в тому, що ви захотіли створити базові класи для вирішення неіснуючої проблеми Це подібно спробі будувати основи моста, не знаючи, де цей міст буде Розміщена, скільки людей буде ним користуватися, чи буде цей міст лише для пішоходів або для автомобілів і т п У випадку з мостами, їх не починають будувати до тих пір, поки не зясовані всі необхідні подробиці В області ж розробки програмного забезпечення ми постійно бачимо проекти, які фокусуються на розробку загальної інфраструктури, а не на вирішення конкретної проблеми

Все сказане не слід сприймати як твердження, що базові класи самі по собі або розробка загальної інфраструктури є поганою ідеєю До чого я веду, так це до того, що для розробки корисних базових класів необхідно мати знання в області їх застосування Якщо у вас таких знань немає, то вам не слует писати базові класи

Але яким чином можна отримати досвід в області застосування базових класів, який дозволив би вам їх розробляти Можна почати з викладу своїх ідей у ​​вигляді конструкцій С #, а потім реалізовувати ці ідеї Генерація ідей з наступною їх реалізацією є частиною процесу розробки, називающося розробкою програмного забезпечення, керованого тестами (test-driven architecture)

Процес розробки програмного забезпечення, керованого тестами, починається з визначення вимог і знаходження спільного рішення для них У разі нашого застосування, вимогою є створити движок для обчислення податку на Доди У загальних рисах, це означає, що нам потрібно обчислити загальний дохід, Оять з нього податкові відрахування, а на суму, підрахувати податок за сооетствующей податковій ставці

У програмуванні на мові С # загальні ідеї втілюються у вихідний код з пощьюінтерфейсів

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*