Comments 9
Подход выглядит очень научным (видимо таким и является), но читать такую статью не очень интересно. Прочитал последние пару абзацев, взял на заметку, что при дублировании строк или вставке кусочков кода нужно внимательно следить за последними строками и инструкциями.
Это и есть перевод научной статьи. Другое дело, что с оформлением тут совсем беда: код вставлен картинками, ссылки на сноски потеряны, исследования, в оригинале называющиеся C1 и C2, превратились в C1 и С2, текст сносок есть, а самих сносок нет, ну и качество некоторых картинок, мягко говоря, сомнительное. Особенно неприятно это в связи с тем, что перевод опубликован от имени одного из авторов статьи.
Внимательно следить может наоборот усугубить ситуацию, ибо область внимания сужается очень, из-за чего можно пропустить порой даже очевидные ошибки. Единственное, что реально помогает, это code review. Можно конечно тестами покрывать, но по опыту знаю, что тестами в большом модуле не напасешься и некоторые ситуацию даже не догадаешься проверить.
Судя по примерам ошибка происходит в случае нескольких правок после вставки.
Поэтому стоит запоминать количество изменений, которые надо внести после правки (хотя это не поможет если отвлекут)
Можно попробовать определить макрос или шаблон вида:
Только не знаю, в каком языке такое допустимо
Поэтому стоит запоминать количество изменений, которые надо внести после правки (хотя это не поможет если отвлекут)
Можно попробовать определить макрос или шаблон вида:
ApplyToAll("$1 += other.$1;", "", x,y,z)
Только не знаю, в каком языке такое допустимо
При вычитке текста есть такой приём — читать с конца в начало, чтобы не отвлекаться на содержание и не проскакивать куски текста.
В какой-то мере это можно попробовать адаптировать для ревью кода — повторяющиеся блоки читать снизу вверх.
В какой-то мере это можно попробовать адаптировать для ревью кода — повторяющиеся блоки читать снизу вверх.
По поводу добытия живых примеров ошибок.
Есть сервисы лайв-кодинга, например watchpeoplecode, liveedu (бывший livecoding), и даже twitch.
Можно проверить соответствующие исходники (там где доступны, если доступны) и найти соответствующие фрагменты на видео.
Есть сервисы лайв-кодинга, например watchpeoplecode, liveedu (бывший livecoding), и даже twitch.
Можно проверить соответствующие исходники (там где доступны, если доступны) и найти соответствующие фрагменты на видео.
Теперь я боюсь ещё и микроклонов.
TL;DR
Sign up to leave a comment.
Объяснение эффекта последней строки