Обсуждение:Программирование методом копирования-вставки
Проект «Информационные технологии» (уровень I, важность для проекта низкая)
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении и поработать над требуемыми статьями. |
Название статьи
правитьСделано Название статьи в англовики:
- Copy and paste programming
Возможные варианты названия статьи в рувики:
- Программирование методом копирования-вставки
- Копипаста в программировании
- Копипастное программирование
- C&P программирование
Согласен, что первый вариант наиболее точен и его можно использовать в качестве названия статьи.
Второй вариант (Копипаста в программировании) неточен, т.к. это именно метод, стиль программирования, а не нечто в программировании.
Если слово "копипаста" сколько-то прижилось в языке (с моей точки зрения), то слово "копипастное" выглядит слишком громоздким и искусственным. Бррр.
По ходу статьи (для краткости именования темы) предлагаю чередовать частичные синонимы:
- программирование методом копирования-вставки
- копипаста (даже без слова "программирование")
- C&P программирование
-- Andrew Krizhanovsky 11:46, 3 ноября 2013 (UTC)
- Согласен, что первый вариант самый нейтрально-подходящий. Вопрос про чередование синонимов: нужно ли в определении указать сами синонимы? --Atroshko 12:03, 3 ноября 2013 (UTC)
- Да, можно указать в определении. Много копий сломано вокруг первой строки в статье Браузер, посмотрите, пожалуйста. -- Andrew Krizhanovsky 12:58, 3 ноября 2013 (UTC)
Введение
правитьСделано Остаётся вопрос наличия АИ, из которого взято одно из определений темы статьи, представленное в преамбуле. Сейчас такого АИ и определения нет. Очевидно, источники нужно копать английские. -- Andrew Krizhanovsky 11:46, 3 ноября 2013 (UTC)
- С этим пока что туго. --Atroshko 12:04, 3 ноября 2013 (UTC)
- Должен ли АИ давать прямое определение? То есть что-то типа "C&P - это ..."? Есть статья, которая не пишет конкретного определения, но в целом подразумевает смысл (возможно, определение можно найти в одной из 180-ти статей, ссылающейся на приведенную выше). Кроме того, есть два определения в Urban Dictionary: 1, 2. Еще есть непонятная статья неизвестного автора на русскому с определением, не совпадающим с английской Википедией, хотя сама статья в библиографии указывает первую ссылку на вики. --Atroshko 12:54, 3 ноября 2013 (UTC)
- Последнюю статью без автора не надо.
- С Urban Dictionary, на мой взгляд, всё непросто. Т.к. его редактируют в том же стиле, что и вики, а Википедия не является АИ для самой себя.
- Думаю, что не обязательно прямое определение. У вас может быть глобальное обобщение многих страниц какой-либо публикации (с указанием страниц). -- Andrew Krizhanovsky 13:11, 3 ноября 2013 (UTC)
- Указал источники-статьи --Atroshko 07:25, 4 ноября 2013 (UTC)
Публикация Сделано
правитьКогда наступает момент, когда можно уже выходить из сумрака черновика и создавать страницу статьи? --Atroshko 12:00, 4 ноября 2013 (UTC)
- Когда есть АИ, доказывающие значимость, и статья больше стаба. Вы уже давно созрели. (только не "создавать", а переименовывать черновик, чтобы сохранить историю правок и чтобы все "муки рождения" статьи были видны) -- Andrew Krizhanovsky 12:48, 4 ноября 2013 (UTC)
- ОК, перенесено. --Atroshko 13:40, 4 ноября 2013 (UTC)
Важность и уровень проекта
правитьОпределите, пожалуйста, важность и уровень качества статьи. Пока что средняя и уровень 1.--Atroshko 06:02, 14 ноября 2013 (UTC)
Рецензирование статьи Программирование методом копирования-вставки
правитьСтатью пока нечитал. Из небольших замечаний — не используется пока что шаблон {{sfn}}.
- Сделано Atroshko 10:23, 14 ноября 2013 (UTC)
- Отлично! Осталось седьмое примечание "Building ASP.NET" - переход с него не работает. -- Andrew Krizhanovsky 10:52, 14 ноября 2013 (UTC)
- Сделано Atroshko 11:00, 14 ноября 2013 (UTC)
- Отлично! Осталось седьмое примечание "Building ASP.NET" - переход с него не работает. -- Andrew Krizhanovsky 10:52, 14 ноября 2013 (UTC)
Маловато источников на русском — только один. Действительно — это такая заграничная тема? — Andrew Krizhanovsky 08:50, 14 ноября 2013 (UTC)
- Тема не заграничная, явление вполне распространено и у нас. Но не нашел ни одного русскоязычного исследования по этой теме. Из неисследований есть куча форумов, но они не будут АИ и написаны в довольно свободном стиле. Atroshko 10:23, 14 ноября 2013 (UTC)
Проверил только один источник "Building ASP.NET". Обычно указывают автора, год публикации. Сейчас этого нет. Посмотрите, пожалуйста, параметры шаблона {{cite web}}. -- Andrew Krizhanovsky 17:46, 14 ноября 2013 (UTC)
- Попытался улучшить список литературы. Из-за этого в Примечаниях у некоторых пунктов исчезли стрелки, хотя сами примечания работают. В чем может быть дело? --Atroshko 07:17, 9 декабря 2013 (UTC)
[5]-ая ссылка {cargo-cult-definition} не доступна. petrinka 19:49, 14 ноября 2013 (UTC)
- Сделано Atroshko 04:15, 15 ноября 2013 (UTC)
Не хватает перехода в преамбуле. Предлагаю сделать переход на раздел Дублирование или на его подразделы. petrinka 19:49, 14 ноября 2013 (UTC)
- Сделано --Atroshko 05:25, 25 ноября 2013 (UTC)
Вот что нашел я:
- Замечания 1 - раздел Плагиат
- от преподавателей студентов или книг по программированию (пропущена запятая) (исправил)
- Откатываю правку. И вот почему. В тексте подразумевалось, что код берется от преподавателей, которые ведут у студентов (примеры из преподавательской презентации и т.п.). Мне кажется, что это очевидно — зачем и кто будет брать код у студентов!? Преподаватели? Вряд ли. Другие студенты? Про это написано как "друзей, коллег". В английской версии спорный фрагменты обозначен как "code provided by the student's professors/TAs". Сделаю так: изменю "преподавателей студентов" на "преподавателей", так будет яснее всем. Сделано --Atroshko 18:14, 18 ноября 2013 (UTC)
- Замечание 2 - раздел Дублирование библиотек 2 абзац
- частей (это может быть ////////// заведомо устаревают). Мне кажется, скобки здесь лишние
- Предложение в скобках слишком большое. Пожалуй, уберу скобки. Сделано --Atroshko 18:14, 18 ноября 2013 (UTC)
- Замечания 3 - раздел Ветвление
- Ветвление это нормальный процесс (я считаю, пропущено тире/дефис между первым и вторым словом)
- Правьте смело Сделано --Atroshko 18:14, 18 ноября 2013 (UTC)
Пока что вроде всё. :) Arcedal 06:44, 18 ноября 2013 (UTC)
В подразделе "Использование библиотек" тема использования библиотек не раскрывается. Во втором абзаце описан случай, когда, как я понимаю, библиотеки не используются вообще. Если это именно пример НЕ использования библиотеки или пример копипасты внутри библиотеки - следует это уточнить в тексте. Хотя, мне показалось, что дополненный иллюстрацией второй абзац является общим и самостоятельным примером дублирования и может быть вынесен из подраздела "Использование библиотек". Bokanko 19:07, 24 ноября 2013 (UTC)
- Отлично! Сделано --Atroshko 05:25, 25 ноября 2013 (UTC)
Замечания по стилю: 1)
В этом случае, если требуются изменения, то время тратится напрасно на поиски всех дублирующих частей. Это может быть частично ускорено...
Из структуры предложения следует, что "это" ссылается на "время тратится напрасно". Но как это "время" можно "частично ускорить" неясно. Александр, попробуйте перефразировать.
- Постарался перефразировать Сделано --Atroshko 05:57, 2 декабря 2013 (UTC)
2)
...но это не отменяет проблемы осуществления нескольких правок.
Что это за проблема "осуществления нескольких правок"? Выше нигде о такой проблеме не говорится.
- Исправил проблему на необходимость Сделано --Atroshko 05:57, 2 декабря 2013 (UTC)
3) Нетривиальные и жаргонные слова (типа Сниппет) стоит викифицировать, когда такое слово встречается первый раз в тексте (в обычном тексте на бумаге пришлось бы писать примечание при первом употреблении таких слов). -- Andrew Krizhanovsky 13:38, 25 ноября 2013 (UTC)
- Кажется, слова вроде сниппет и баг были викифицированы при первом упоминании. Перечитал статью, не обнаружил больше. Сделано? --Atroshko 05:57, 2 декабря 2013 (UTC)
"является появление" - стилистически неудачный оборот. -- Andrew Krizhanovsky 10:57, 4 декабря 2013 (UTC)
- А так? "Одна из наиболее вредных форм C&P-программирования выражается в появлении дублированного кода..." --Atroshko 09:20, 6 декабря 2013 (UTC)
- Отлично. -- Andrew Krizhanovsky 20:56, 6 декабря 2013 (UTC)
- Сделано Atroshko 07:17, 9 декабря 2013 (UTC)
- Отлично. -- Andrew Krizhanovsky 20:56, 6 декабря 2013 (UTC)
- А так? "Одна из наиболее вредных форм C&P-программирования выражается в появлении дублированного кода..." --Atroshko 09:20, 6 декабря 2013 (UTC)
Ссылка на книгу "Совершенный код. Мастер-класс" приводит на другую книгу "Типичные ошибки проектирования." Artyom Kalinin 18:51, 13 декабря 2013 (UTC)
- Спасибо, Сделано
Книги на русском
правитьНа русском книг мало представлено в статье. Хотя бы переводных. Посмотрим, что есть на пыльных полках интернета... :)
- "Аллен Э. Типичные ошибки проектирования - 2003" (есть на RuTracker.org), одна из ошибок проектирования, называется "Фальшивая черепица" (ошибка копирования) (стр. 72-78) тесно связаны и вызывается копипастой, там же указано - как это лечится. Стоит про эту черепицу написать в статье.
- Добавил, но почему-то из сносок не переходит в литературу. Помогите, пожалуйста. --Atroshko 09:20, 6 декабря 2013 (UTC)
- Добавил год в шаблон "sfn". -- Andrew Krizhanovsky 20:56, 6 декабря 2013 (UTC)
- Спасибо. Не мог и подумать, что из-за года такая фигня. Сделано Atroshko 07:17, 9 декабря 2013 (UTC)
- Добавил год в шаблон "sfn". -- Andrew Krizhanovsky 20:56, 6 декабря 2013 (UTC)
- Добавил, но почему-то из сносок не переходит в литературу. Помогите, пожалуйста. --Atroshko 09:20, 6 декабря 2013 (UTC)
- "Стив Макконнелл - Совершенный код, 2-е изд - 2005", (тоже там же) стр. 553, указывается и объясняется - почему копирование кода может потребовать рефакторинг, попутно упоминается правило "принцип DRY".
- Довольно мало написано. Показалось, что больше касается запахов кода. Взял цитату Дэвида Парнаса про DRY. --Atroshko 09:20, 6 декабря 2013 (UTC)
- Сделано Atroshko 07:17, 9 декабря 2013 (UTC)
- Довольно мало написано. Показалось, что больше касается запахов кода. Взял цитату Дэвида Парнаса про DRY. --Atroshko 09:20, 6 декабря 2013 (UTC)
Хотелось бы увидеть эти книги (и главное из того, что связано с копастой в них) в этой статье. Уверен, ещё есть масса подобной литературы на русском! -- Andrew Krizhanovsky 11:19, 4 декабря 2013 (UTC)
- Думаю, что можно отметить как сделанное. Сделано. Atroshko 07:17, 9 декабря 2013 (UTC)
Другое
правитьВынес со страницы рецензии. Atroshko 08:29, 23 декабря 2013 (UTC)
Исправил почти все замечания рецензентов. Почти все, кроме двух больших:
- Переформулировать или написать подробнее про "Приемы проектирования, использованные в разных исходных кодах, могут быть не приемлемы в случае их комбинирования в новой среде." Мне кажется, что тут все понятно: есть код, который проектировался по одному паттерну/приему/шаблону/стилю (допустим, принято соглашение использовать структуру данных связный список), а после копипасты в коде возникает кусок кода, который мог бы быть написан с использованием связных списков, но сделан при помощи массива или при помощи нового класса связного списка, который [класс] больше нигде не будет использоваться. Atroshko 04:55, 19 декабря 2013 (UTC)
- "Классическое ветвление обладает следующими особенностями:" - нужен АИ. Не знаю, где его можно найти. Искал про code branching, merging, branch lifecycle, branching workflow. Нет явного указания тех пунктов, которые требуется подтвердить. Atroshko 04:55, 19 декабря 2013 (UTC)