Некоторое время назад я прочитал совет, который помогает мне в таких ситуациях. Может быть парализованно пытаться сделать что-то «правильным» способом, когда вы ничего не знаете об этом.
Так что, если мне придется создать, скажем, приложение для управления клиентами , мой первый шаг может быть:
Создайте действительно дурацкое приложение для управления клиентами .
Трудно построить хороший, но легко создать дерьмовый, который делает вещь или две. И хотя трудно понять, когда что-то достаточно хорошо, довольно легко узнать, когда что-то дерьмо.
Как только передо мной оказывается дерьмовый, я ясно вижу, что нуждается в улучшении. И это легко изменить, потому что дрянной действительно что-то делает; поэтому, используя принцип TDD, я улучшаю его, сохраняя его работоспособным. В конце концов дрянное приложение превращается в хорошее.
Многие из приложений, над которыми я работал, в итоге оказались дрянными, пытаясь не быть ... и, таким образом, были слишком сложными и трудными для изменения, отладки и улучшения.