"Ты делаешь это неправильно!" чувство - PullRequest
11 голосов
/ 23 декабря 2008

NB - Этот вопрос не является ударом по RoR или по системе плагинов Redmine


Я работал над пользовательским плагином для Redmine , платформы менеджера проектов, созданной на Ruby on Rails (RoR). Теперь я не действительно RoR или, если уж на то пошло, парень из Ruby. Мне удалось написать плагин, и все работает, несмотря на беспорядок за кулисами. "Ты делаешь это неправильно!" Ощущение возникает из-за того, что я знаю, что RoR является высоко ценимым фреймворком, поэтому должны быть простые, лучшие, элегантные, [вставить термин наилучшей практики здесь], способы сделать то, что я сделал. Я не слишком заинтересован в том, чтобы сделать этот код настолько совершенным, насколько это возможно, по единственной причине, что он используется только для внутренних целей, и на самом деле, людям важно только, чтобы он «работал» (я единственный, кто будет смотреть на код).

Какие слова мудрости можно передать, чтобы подавить "Ты делаешь это неправильно !!" чувство? Я вполне уверен, что если это чувство присутствует, то, вероятно, верно, что стоящая перед нами задача выполняется неправильно.

Ответы [ 12 ]

66 голосов
/ 23 декабря 2008

В чем проблема? Чувство «ты делаешь это неправильно!» - это сущность нашего существования.

29 голосов
/ 23 декабря 2008

Некоторое время назад я прочитал совет, который помогает мне в таких ситуациях. Может быть парализованно пытаться сделать что-то «правильным» способом, когда вы ничего не знаете об этом.

Так что, если мне придется создать, скажем, приложение для управления клиентами , мой первый шаг может быть:

Создайте действительно дурацкое приложение для управления клиентами .

Трудно построить хороший, но легко создать дерьмовый, который делает вещь или две. И хотя трудно понять, когда что-то достаточно хорошо, довольно легко узнать, когда что-то дерьмо.

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

Многие из приложений, над которыми я работал, в итоге оказались дрянными, пытаясь не быть ... и, таким образом, были слишком сложными и трудными для изменения, отладки и улучшения.

10 голосов
/ 23 декабря 2008

Не подавляйте это чувство! То, что это неправильно чувство - ключ к инновациям. Просто спросите себя: «Если это не так, то что будет лучше?»

8 голосов
/ 23 декабря 2008

Не думайте об этом, как "Вы делаете это неправильно !!" Думайте об этом как "Какой лучший способ сделать это?" В лучшем случае вы в конечном итоге делаете это более эффективно, в худшем - вы обнаруживаете что-то, что может пригодиться в вашем следующем проекте.

6 голосов
/ 23 декабря 2008

Я никогда не заканчивал кусок кода, которым я на 100% доволен. Но тогда я не верю, что в Мире есть один (нетривиальный) кусок кода, который нельзя улучшить.

Это разработчики, которые всегда думают, что они создали отличный код, о котором я беспокоюсь.

5 голосов
/ 23 декабря 2008

Говорят, писатели должны что-то писать каждый день, хорошо это или нет.

Совет Марка Райберта - если ты не можешь написать что-то хорошее, напиши что-нибудь плохое, а потом отмахнуться от этого.

Мой опыт программирования - когда я несколько раз что-то делал, я наконец начинаю в этом разбираться.

Так что не ожидайте совершенства.

4 голосов
/ 23 декабря 2008

Во многих случаях RoR использует «синтаксический уксус» именно для того, чтобы создать у вас ощущение, что есть лучший способ. Вам, вероятно, стоит взглянуть на некоторые другие плагины, чтобы понять используемые соглашения. Как правило, если вы следуете соглашению с RoR, это кажется правильным.

4 голосов
/ 23 декабря 2008

RoR, как и многие другие фреймворки, позволяет действительно легко делать то, что они ожидают, и довольно трудно делать то, чего они не ожидали. Это относится практически ко всем фреймворкам, которые не являются пользовательскими фреймворками, разработанными специально для вашего проекта. Тот факт, что вам пришлось делать много грязных вещей за кулисами, чтобы что-то сделать, меня совсем не удивляет. Так что, если вы делаете что-то, чего не ожидали, то вполне естественно чувствовать, что вы делаете это неправильно, потому что, с точки зрения дизайнеров фреймворков, вам вообще не следует этого делать.

3 голосов
/ 08 января 2009

В частности, с Redmine система плагинов все еще нова, и мы пытаемся отработать лучшие практики. Поскольку Redmine (и Ruby on Rails) являются открытыми, я бы посоветовал рассказать о своих чувствах на форумах проекта и посмотреть, что думают люди. Другие могут согласиться с вами и помочь улучшить системы.

Примечание : я один из разработчиков ядра Redmine, помогал в создании системы плагинов Redmine и выпустил около десятка плагинов Redmine. И даже я чувствую, что время от времени все наоборот.

2 голосов
/ 18 июня 2009

«В чем проблема? Чувство« ты делаешь это неправильно! »- это сущность нашего существования».

Возможно, не очень связано, но:

«Программист - это тот, кто зарабатывает на жизнь, решая проблемы, которые были вызваны решениями, которые он изобрел ранее».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...