До цього існує дуже простий і практичний підхід, який працює для широкого спектру малих та середніх проектів. Навіть незважаючи на те, що це, мабуть, не буде добре для Марс-дослідників.
По-перше, попрацюйте, що ви хочете зробити, і запишіть кожну з окремих функцій. Це може бути настільки складно, як ціла дошка історії користувачів, або ж просто, як кілька точок кулі, записаних на аркуші паперу перед вами. Але важливо, щоб ви знали, що ви хочете це зробити.
На основі цього складіть загальну структуру системи. Знову ж таки, це дуже часто є лише швидким складанням різних класів / модулів і того, як вони співвідносяться один з одним, але може бути таким же складним, як і весь документ. Важливим є те, що ви маєте якесь уявлення про те, як ви збираєтесь впроваджувати систему. Але це, ймовірно, буде вдосконалено під час роботи над ним, тому не намагайтеся переходити до складних і детальних.
З усіх цих функцій з'ясовуються ключові речі, які потрібно зробити програмі - основні функції.
Потім реалізуйте їх по одному. Тепер ключовим у цьому є те, що насправді переконатися, що після того, як ви реалізували функцію, це зроблено і повноцінно працює - в ідеалі це супроводжується тестом на одиницю, що гарантує, що він продовжує працювати. Зазвичай я переживаю припущення, що буду настільки зайнятий, що ніколи не встигну повернутися до функції та виправити її.
Після впровадження основних функцій я, як правило, намагаюся використовувати систему якомога ближче до виробничого середовища. Це дає вам а) будь-які помилки, які ви могли пропустити раніше, і б) ви добре розумієте пріоритет наступних функцій.
Потім ви можете продовжувати реалізовувати інші функції за потребою.
Якість коду та функції
Маючи на увазі вищесказане, я схильний жертвувати функціями щодо якості коду, якщо мені доведеться встановити термін. Просто тому, що, принаймні, в моїй роботі, коли я закінчую щось, моє управління передбачає, що це робиться. І що вони можуть дати мені наступне завдання. У мене не так багато часу, щоб зробити код приємнішим після факту.
Тепер, що з обробкою виключень?
Якщо ви не хочете реалізовувати це від руки, ви можете просто перерахувати це як іншу функцію у списку. І коли ви дістанетесь до нього, ви можете це здійснити. Але, швидше за все, у вашому випадку є, мабуть, багато інших речей, які важливіше насамперед.
Однак існує мінімальна вимога до винятків. Переконайтеся, що користувач повідомлений, якщо щось піде не так - незалежно від того, наскільки негативним може бути вихід. Десь не ковтайте винятки.