titov_andrei
@titov_andrei
All my life I learn - and die a fool!

Что даёт навык написания кода по памяти?

Вроде бы даже опытные музыканты играют по нотам.

Что плохого в написании программ через копирование кода?
  • Вопрос задан
  • 261 просмотр
Решения вопроса 3
aleksejjjj
@aleksejjjj
Лично на мой взгляд ничего плохого и нет, при условии конечно, что вы понимаете что именно и зачем копируете. Тут в ответах много рассуждений о музыкантах и прочих композиторах. Это глупость, среди программистов действительно уникальные, ранее не решенные задачи делают единицы.

Те кто отвечает о вреде копирования - вы каждую строку проекта с нуля пишете? Может все таки из composer/npm и прочего берете что-то? И чем такая библиотека от куска кода со стековерфлоу отличается?

Конечно приятно считать себя творцами, но в большинстве случаев программирование это ремесло а не искусство. И глупо каждый раз изобретать собственные велосипеды для давно решенных задач.
Ответ написан
@Hedy
Больше уделяешь времени решению задачи, а не поиску куска кода, который нужно скопипастить.
Ответ написан
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Неважно какое сравнение, хотя очевидно в нём музыкант это компьютер, а программист - скорее композитор.

По большому счёту копипаста не является чем-то плохим самим по себе. Те же сниппеты по сути та же копипаста, только в профиль. Беда кроется не в копипасте как таковой, а в китайско-индусском коде. Современные языки программирования оперируют такой важной концепцией, как общий код с туевой хучей инструментов для этого: функции, классы, шаблоны/дженерики, интерфейсы, циклы, etc. Очевидно, что если вы используете копипасту, то код общий. Если он общий, то возможно стоит вынести этот код в общие функцию или класс. Другими словами, сам язык программирования предоставляет собственные инструменты переиспользования кода. А тупой и брутальный ctrl+c, ctrl+v приведёт лишь к тому, что со временем, при изменении интерфейса, потребуется перелопатить не пару функций/классов, а тысячи строк копипасты. Причём, если изменение ambiguous, то вполне возможно код даже соберётся (если речь идёт про компилируемый язык программирования) и будет работать. Просто не правильно. А в тысячах строках однотипного кода поди найди это изменение.

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

Хотя опять же. Ситуации разные бывают. Если всё горит и надо вот прямо сейчас быстро морфировать простой интерфейс, оставив прежний, то копипаста может быть оправданной мерой. Так же, не смотря на все возможности по обобщённому программирования, паттерны в принципе схожи друг с другом, да и сам код имеет далеко не самую высокую энтропию, посему хорошие программисты активно используют сниппеты, позволяющие быстро вставлять часто используемые фрагменты кода. Кроме сниппетов есть другие инструменты, вроде Resharper или IntelliSense: они добавляют собственные инструменты сниппенга и подобные, позволяя анфолдить некоторые "макросы" в целые блоки кода. Да и реализуют автодополнение, позволяющее освободить от необходимости точно знать интерфесы всего проекта и всех используемых библиотек (что в принципе не очень реально). Наконец, можно просто научится быстро печатать, что значительно ускорит ввод, а в некоторых случаях быстрее будет даже просто набрать похожий текст, чем копировать его.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
longclaps
@longclaps
Ничего плохого, одно лишь хорошее.
Всегда пишите это первой строкой в резюме.
Ответ написан
Vlad_IT
@Vlad_IT
Front-end разработчик
Нельзя копировать код, надо копировать смысл. Иначе с копипастой не будет понимания работы кода, и он превратится в кошмар.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Программист - это не музыкант, а композитор. Представьте себе композитора, который пишет музыку копипастой из других произведений.
Ответ написан
al_gon
@al_gon
Вопрос: Что даёт навык написания кода по памяти?
Ответ: написание кода по памяти
Ответ написан
@stratosmi
Вроде бы даже опытные музыканты играют по нотам.
Что плохого в написании программ через копирование кода?


Это разные вещи.
Музыкант повторяет (со своими вариациями) то, что придумал композитор.

Программист решает уникальную задачу.
Если он её решил - зачем ему платить еще и еще раз за то же самое, просто за повтор?

Музыканты тоже, кстати, не только концертами зарабатывают.
А и записи продают.

Что плохого в написании программ через копирование кода?

То, что ты не понимаешь, что делаешь.

Типичная ошибка, например:

Берем какую-нибудь статью с некими примерами кода.

И тупо копируем код.

Но! Автор статьи, ради упрощения чтения, ради фокусировки читателя на главном - выкинул из кода все проверки на ошибки!

А ты код скопировал, не понимая, что использовать его в виде, приведенном автором статьи - нельзя.
Ответ написан
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Плохое сравнение, музыкант по нотам играет определенную мелодию. Если Вам надо написать туже программу, один в один, тогда копирование выглядит разумным вариантом. Заново писать гугл не стоит. Но если композитор собирает мелодию из других мелодий - тогда это говномелодия. Или в случае с программой говнокод.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
iSpring Йошкар-Ола
от 150 000 до 250 000 ₽
от 200 000 до 300 000 ₽
18 сент. 2020, в 23:09
5000 руб./за проект
18 сент. 2020, в 23:02
900 руб./в час
18 сент. 2020, в 20:16
13000 руб./за проект