Коли я починаю новий проект, я часто одразу починаю замислюватися про деталі реалізації. "Де я буду розміщувати DataBaseHandler? Як я повинен його використовувати? Чи повинні класи, які хочуть використовувати його, поширюватися на якийсь абстрактний надклас? .. Чи повинен я використовувати інтерфейс? Який рівень абстракції я буду використовувати в своєму класі, який містить методи для надсилання запитів та розбору даних? "
Я довго закінчуюсь з зупинкою, тому що хочу кодувати розширюваність та повторне використання. Але я відчуваю, що майже неможливо оминути думки про те, як ідеально реалізувати.
І тоді, якщо я спробую просто сказати «закрутити, просто зробіть це!», Я вдарив цегляну стіну досить швидко, оскільки мій код не організований, я змішав рівні абстракцій тощо.
Які існують методи / методи для запуску нового проекту, а також створити логічну / модульну структуру, яка буде добре масштабуватися?
- - EDIT - -
Ну, це вже такий тип запитань, на який важко прийняти відповідь, але хотілося отримати ще зворотній зв'язок, подивіться, чи є якийсь консенсус. TDD звучить дуже здорово, і, чесно кажучи, я мав на увазі досягти більшої швидкості використання JUnit і т.д. Конкретні проблеми - це те, що TDD насправді не вирішує питання дизайну. Звичайно, я погоджуюся, що TDD допоможе мені визначити, що я хочу зробити, і тоді я можу поступово працювати над тим, як, але є багато різних загальних моделей / структур дизайну, які можуть пройти через тестування одиниць. Ось тільки це: він тестує окремі UNITS. Я думаю, я трохи розгублений ... я не знаю. Можливо я'
Спасибі!