Быть ленивым разработчиком или не быть ленивым разработчиком?

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

Теперь я мог бы, если бы мне пришлось, создавать все слои данных и объекты, которые мне нужны, но я решил использовать CodeSmith для генерации моих данных и сущностей. Я также использую Resharper, и я бы сказал, что он борется с MSDeploy, поскольку он устанавливается сначала после Visual Studio. Опять же, если я должен был, я мог бы закодировать без него, но предпочитаю не делать этого.

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

Но разве это лениво? Я уверен, что есть пуристы, которые сказали бы, что все должно быть обмануто вами, чтобы вы знали, что все делает, но если вы можете прочитать код и посмотреть, что происходит, это нормально?

Я тоже ленивый, или я просто использую все карты в руке?

Ответ 2

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

Ответ 3

Вам не нужно изобретать колесо n раз, это делается достаточно часто. Вкратце я бы сказал, что использование таких инструментов, как те, которые вы упомянули (в разумных пределах), абсолютно не проблема...

Ответ 4

Для вас? Нет, вы не ленитесь.

Для парня, который не знает, понимают, что делают генераторы кода и как они это делают? Да, это ленивый.

Это важное различие: вам нужно знать, что вы получаете, и знать, чего вам не хватает, используя генератор кода. Если вы этого не сделаете, это всего лишь вопрос времени, прежде чем вы столкнетесь с ситуацией, когда вы должны иметь возможность создавать эти классы и не знать, как это сделать.

Ответ 5

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

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

Ответ 6

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

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

Ответ 7

Я думаю, что неправильный вопрос. Лень - это добродетель. Я видел слишком много программистов, которые делают что-то тяжело, вместо того, чтобы сидеть сложа руки и думать несколько минут, чтобы придумать более простой способ. У меня было так много раз, что я сказал младшему программисту что-то вроде: "Да, я уважаю ваше усердие в работе через обед и опаздываю, чтобы написать код, чтобы сделать X, но если бы вы взяли несколько минут, чтобы проверить документацию, которую вы, возможно, видели, что в библиотеке уже есть функция, которая делает это". Или похожие истории.

Я не знаком с конкретными инструментами, которые вы описываете, но для меня всегда остается вопрос: действительно ли этот инструмент сохраняет мне какую-либо работу? Я пробовал много "генераторов кода", которые в основном просто создают кодовые заглушки. Итак, спасибо, вы написали "function x (int, float)", теперь все, что мне нужно, это заполнить имена фактических параметров и написать код. Что это спасло меня? Я также видел множество генераторов кода, которые пишут действительно ужасный код. Поэтому теперь я должен попытаться добавить "настраиваемый" код в этот беспорядочный беспорядок. Не было бы проще просто написать все это чисто в первый раз? Я видел множество инструментов для повышения производительности, где я нашел, что мне требуется больше времени, чтобы настроить параметры для запуска инструмента, чем я фактически сохранил, используя его. (Как и в старой шутке, было доказано, что регулярное толчок действительно заставляет вас жить дольше: каждые 60 минут вы проводите бег трусцой, это добавляет 30 минут к вашей жизни.) Некоторые инструменты могут создавать структуры кода или данных или что-то, что трудно поддерживайте, поэтому вы сохраняете час сегодня, но вам стоит десять часов на техническое обслуживание в течение всего срока действия проекта. Etc.

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

Ответ 8

Как все уже указывали, нет ничего плохого в использовании генераторов кода.

Тем не менее я могу видеть недостатки и причины, чтобы избежать этого в некоторых конкретных ситуациях.

  • выбор языка. Иногда тот же самый факт, что вам нужен генератор кода для запуска вашего кодирования, может означать, что вы используете неправильный язык для задачи. В большинстве случаев язык не может быть выбран, поэтому генераторы кода остаются наилучшим способом.

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

  • добавление требований к платформам разработки. Мы должны уступить многим программистам, работающим на удвоении хлеба-тостеров в качестве ПК. Это действительно плохая (и грустная) реальность дешевых деловых практик, встречающих острые умы. (острые умы идут впустую в процессе). Может возникнуть проблема, если наш проект (который может иметь порт в будущем и во внешнем объекте тоже) нуждается в здоровенной, баранине, недостаточно крест-платформе, IDE удобно компилировать каждую небольшую модификацию.

Итак, окончательный ответ на код, генерирующий ленивость и программирование: это зависит. Опять же, использование неправильных инструментов для работы плохо для вашего здоровья (и бизнеса), поэтому... нет.

Ответ 9

Вы используете все карты в своей руке. Зачем изобретать колесо, когда есть инструменты для облегчения вашей работы. Имейте в виду эти инструменты, НЕ выполняйте свою работу, они только помогают.

То, что вы создаете, зависит от вас, поэтому использование инструментов не является ленивым... это просто разумно.

Ответ 10

Я бы сказал, что вы более эффективны, а не ленитесь.

Ответ 11

Программирование - это прежде всего мыслящее упражнение, а не печатное. Пока вы понимаете, что делают инструменты, вы смещаете баланс от ввода до мышления. Чем больше ваша работа? Мне не лениво!

Ответ 12

Я уверен, что есть пуристы, которые сказали бы, что все должно быть обмануто вами, чтобы вы знали, что все делает.

Это могло быть жизнеспособной точкой зрения в первые дни программирования. Но в настоящее время это просто невозможно (или даже предпочтительнее). В конце концов, вы уже скрыли определенный уровень понимания, просто используя язык высокого уровня.

Тем не менее, я нашел, что это отличное учебное упражнение, чтобы иногда писать некоторые из этих вещей вручную. Вы не только узнаете больше, но и научите вас, насколько полезны эти инструменты (или нет). Обратите внимание, что я сделал бы это только в личном проекте. Я бы не сделал этого для какого-либо проекта, за который меня кто-то платил (если я не работал на мазохиста или что-то в этом роде).

Ответ 13

Спросите себя, почему существует так много ORM и других инструментов генерации кода. Я бы сказал, пойти на это с условием, что вы оставите его пригодным для обслуживания для следующего парня/девочки.

Ответ 14

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

Ответ 15

Это зависит от того, что вы пишете, конечно. Я удивлен, что никто этого не сделал. Если вы пишете драйверы устройств, операционные системы, протоколы или серверное программное обеспечение (веб-серверы, серверы, управляемые tcp и т.д.), Вы должны, вероятно, сделать это вручную.

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

Ответ 16

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

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

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

вывод: Лень = прибыль

Пойдите для этого.

Ответ 17

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

Имейте в виду, что ленивые разработчики должны сосредоточиться на том, чтобы избежать работы в будущем, а не избегать работы прямо сейчас! Так что перестаньте читать здесь и возвращайтесь к работе!; -)