Общий дизайн с помощью методов запутывания?[закрыто]

StackOverflow https://stackoverflow.com/questions/794940

  •  18-09-2019
  •  | 
  •  

Вопрос

Какие распространенные методы, используемые вами в дизайне толпой запутывания, вы видели?Мне интересно участвовать в проектах, которые пока нельзя переписывать, это было бы более быстрое и эффективное решение проблемы.

Это было полезно?

Решение

Мои фавориты всегда вращаются вокруг переменных... оставляя в коде те, которые больше не используются, а затем присваивая им бессмысленные имена.Конечно, если вы действительно хотите запутать, вы должны быть осторожны и избегать почти всех условностей.Итак, идеальным вариантом было бы иметь две одинаково используемые переменные: одну с именем myVar1, а другую с именем myVarOne.Вроде того...

Другой вариант — включить неиспользуемые элементы управления, которые видны только внутри кода.Я целый час смотрел на один сайт ASP.NET, пытаясь понять, почему на него добавили FormView... (ответа на этот вопрос не было).

Другие советы

Однажды я работал над кодом Perl, автор которого решил, что большинство подпрограмм получают один хеш в качестве переменной и возвращают тот же хеш с добавленными или удаленными данными.По сути, один глобальный хеш используется для передачи данных по разным путям кода.

Это выглядело примерно так:

my $hash = ();

$hash->{'CUSTID'} = 1001;
$hash = GetAccounts($hash);

if ($hash->{'AccountTotal'} > 100) {
    $hash = getTotals($hash);
    $hash->{'Acct_Sbkt_Marker'} = 'R1';
    $hash->{'Acct_Invr_Marker'} = 'BT';
    $hash = removeInvalidAccount($hash);
}

По сей день я не могу понять, какой шаблон проектирования он пытался реализовать с помощью этого.

Я помню $hash было бы красиво выстроено.

У нас был один человек, с которым мы работали, хранил файлы в папке под названием /kensington, чтобы «спрятать» их.Там просто содержалось несколько XML-файлов, которые он не хотел видеть, и полагал, что люди не будут туда заглядывать.

Отсутствие или бесполезные комментарии в коде, а также отсутствие полезной документации.

Я работал с программистом, который писал чрезвычайно сложные условия, при выполнении которых вызывался метод, который просто выводил систему из строя.Он делал это десятки раз на протяжении всего приложения.До сих пор не знаю, почему....

И я подумал, что хорошо спроектированный код должен быть прочитан сам по себе, а не расшифрован.

Я понимаю, что людям, которых волнует запутывание, рекомендуется использовать такие инструменты, как dotfuscator и его эквиваленты, в других средах.Однако обфускация в том смысле, что код становится сложнее декомпилировать, а не просто усложняет работу с ним.

Зачем кому-то намеренно создавать ужасный код (кроме как для демонстрации ошибок) я не понимаю.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top