Про копи-паст

Jul 18, 2007 19:55

Мда, тема преследовала меня уже давно, но сегодня, похоже, дошёл до очередного уровня дзен.

Вы все видели как происходит Это. Каокй-нибудь человек со специальностью программист (обычно студент) нажимает два заветных сочетания клавиш ctrl+C и ctrl+V. Наука ещё не выснила, что он при этом испытывает, но ему хочется нажимать эти комбинации снова и снова. Снова и снова.

...Встретился со старым знакомым. Он перешёл на 4-ый курс программисткого факультета престижного ВУЗа нашей страны. Вдруг разговор зашёл о стиле. Я произнёс дежурную фразу: "стиль не в конкретных правилах для себя, а в том что ты можешь под чужие правила подстроиться и писать удобочитаемый код", ну и отметил, что копи-пастить код, вообще-то, нельзя. В ответ мне сказали, что я - дурак, а без копипаста невозможно писать курсовые.
Вот я сейчас думаю: а ведь без копипаста, действительно, курсовые писать невозможно. Им...

...Друзья кинули ссылку: http://skazka.spbu.ru/dtfiles/ctrlcctrlv/index.php. Голосов уже много. Жаль там не ведётся статистика сколько из них были программистами...

...Другой студент, другая курсовая. Тема - базы данных, программа - клиент на Java для какой-то xSQL. Ость основная форма, на ней куча кнопочек. При нажатии на кнопочку выскакивает дочерняя форма и вводятся параметры для запроса. Далее запрос наконец-то выполняется. Весь код запроса, взятия параметров и обработки информации хранится в дочерней форме. Угадаете, как делались все формы после первой? Правильно, копи-пастом примерно пяти экранов текста и правки пяти строчек. Потом ещё минут 10 тратилось на выведение багов возникщих из-за исправления 5 строчек. На вопрос: "А почему так", был получен ответ: "А завтра сдавать". Предупреждать, что минимум половину кода форм можно было б снести в общий модуль, я как-то не стал. Неприятно когда тебя дураком называют...

...И опять студенты. Прохожу по компьютерному классу, как всегда заглядываю что пишут сидящие за монитором. Замечаю знакомые комментарии. Вроде я обычно так пишу: на английском, краткими фразами. А вот код не мой. Хотя, если присмотреться, возможно раньше он был моим. Спрашиваю, так и есть: код прошёл то ли трех, то ли четырех человек после меня. И функция каждый раз изменялась. Почему сами написать не могут? А у них постоянно под укзателями то память теряется, то системная область попадается. Согласен, разумное оправдание для копи-паста...

...В среде не-студентов получше. Курсовые прошли, фокусы с подгонкой программы под тесты проходят уже нет хорошо. Хотя и тут свои пёрлы встречаются. Небольшой калабмур, потому что речь пойдёт про скрипты. Требовалось по номеру месяца выдать его название. Видим ровную линеечку If/Else уходящею за край экрана. Почему нельзя было завести массив с именами месяцев? Ну как же, прокопипастить If/Else быстрее. Ну а о том, что бы вынести подобную функцию в общий модуль никто не задумался. В результате, я, писавший позже, написал в общий модуль очередной велосипед, а только потом добрался до этих "ифов"...

...В таблице есть поле явялющеся ссылкой на другую таблицу. Требется по каждому значению ссылки посчитать количество вхождений в таблицу. Конечно, достаём всё таблицу и обходим её в цикле. А в цикле конструкция "Если занчение равно тому-то, то прибавить к счётчику того-то единицу". Размножается всё копи-пастом. Ну так писать, конечно, проще, да и сразу видно что ты много кода написал...

...Мы растём, мы приобретаем опыт. Мы узнаём что значат умные слова вроде STL и code review. И в какой-то момент начинаем думать перед каждым нажатием на ctrl+V. Или не начинаем...

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

Поэтому предлагаю перебиндить сочетания ctrl+C и ctrl+V на сочетание ctrl+F1. Пользы точно больше будет.

programming, article

Next post
Up