Обсуждение:Программирование методом копирования-вставки

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Название статьи[править код]

✔ Сделано Название статьи в англовики:

  • Copy and paste programming

Возможные варианты названия статьи в рувики:

  1. Программирование методом копирования-вставки
  2. Копипаста в программировании
  3. Копипастное программирование
  4. 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)[ответить]

Маловато источников на русском — только один. Действительно — это такая заграничная тема? — 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)[ответить]

Ссылка на книгу "Совершенный код. Мастер-класс" приводит на другую книгу "Типичные ошибки проектирования." Artyom Kalinin 18:51, 13 декабря 2013 (UTC)[ответить]

Спасибо, ✔ Сделано

Книги на русском[править код]

На русском книг мало представлено в статье. Хотя бы переводных. Посмотрим, что есть на пыльных полках интернета... :)

  1. "Аллен Э. Типичные ошибки проектирования - 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)[ответить]
  1. "Стив Макконнелл - Совершенный код, 2-е изд - 2005", (тоже там же) стр. 553, указывается и объясняется - почему копирование кода может потребовать рефакторинг, попутно упоминается правило "принцип DRY".
Довольно мало написано. Показалось, что больше касается запахов кода. Взял цитату Дэвида Парнаса про DRY. --Atroshko 09:20, 6 декабря 2013 (UTC)[ответить]
✔ Сделано Atroshko 07:17, 9 декабря 2013 (UTC)[ответить]

Хотелось бы увидеть эти книги (и главное из того, что связано с копастой в них) в этой статье. Уверен, ещё есть масса подобной литературы на русском! -- Andrew Krizhanovsky 11:19, 4 декабря 2013 (UTC)[ответить]

Думаю, что можно отметить как сделанное. ✔ Сделано. Atroshko 07:17, 9 декабря 2013 (UTC)[ответить]

Другое[править код]

Вынес со страницы рецензии. Atroshko 08:29, 23 декабря 2013 (UTC)[ответить]

Исправил почти все замечания рецензентов. Почти все, кроме двух больших:

  1. Переформулировать или написать подробнее про "Приемы проектирования, использованные в разных исходных кодах, могут быть не приемлемы в случае их комбинирования в новой среде." Мне кажется, что тут все понятно: есть код, который проектировался по одному паттерну/приему/шаблону/стилю (допустим, принято соглашение использовать структуру данных связный список), а после копипасты в коде возникает кусок кода, который мог бы быть написан с использованием связных списков, но сделан при помощи массива или при помощи нового класса связного списка, который [класс] больше нигде не будет использоваться. Atroshko 04:55, 19 декабря 2013 (UTC)[ответить]
  2. "Классическое ветвление обладает следующими особенностями:" - нужен АИ. Не знаю, где его можно найти. Искал про code branching, merging, branch lifecycle, branching workflow. Нет явного указания тех пунктов, которые требуется подтвердить. Atroshko 04:55, 19 декабря 2013 (UTC)[ответить]