Я использую этот термин все время ... но я просто как бы подумал, что у меня действительно нет твердого смыслового смысла этого термина (или, по крайней мере, термина в том смысле, в котором я хочу обсудить здесь). Меня интересует смысл слова связанный с кодом, а не антропоморфная идея. Меня также не интересует здесь смысл слова, связанный с преднамеренными вредоносными вычислениями (то есть взлом для раскрытия секретных способностей в игре). Я хочу исследовать что значит «взломать» с точки зрения написания программного обеспечения для решения проблемы
определение слова "взломать" в Википедии для меня немного расплывчато, но отправная точка. Считает взломом
- может относиться к решению или методу, которые работают правильно, но являются «уродливыми» по своей концепции.
- работает вне принятых структур и норм окружающей среды
- не легко расширяется или не обслуживается
- может быть жаргонным для слов «копия», «имитация» или «грабеж».
Эти черты взлома соответствуют тому, что я использую это слово - применительно к коду это всегда выражение насмешек. На мой взгляд, взлом
- Скорее всего, будет сложно поддерживать и трудно понять в контексте остальной части кода.
- Вероятно, вызовет сбой приложения.
- имеет тенденцию указывать на плохое понимание кодировщиком проблемной области, использования языка или того и другого.
- имеет тенденцию быть побочным продуктом агрессивных графиков
- предлагает потенциальные изменения в требованиях, которые не были полностью включены в архитектуру решения (требуя «неорганического» обходного пути).
- пахнет
все плохо, плохо, плохо. Для меня хакерство в этом смысле всегда отрицательно, что указывает на нехватку времени, некомпетентность или леность со стороны разработчика, хотя приличный процент хаков должен быть написан, чтобы компенсировать плохую работу. задуманные конструкции или системы, которые получили требования, которые их первоначальный дизайн не может удовлетворить «органически».
Я не думаю, что я действительно полностью это уловил - это немного похоже на порнографию: я не могу точно определить это, но я знаю это, когда вижу это. Поэтому я спрашиваю вас: что значит «взломать», когда вы пытаетесь решить проблему в программном обеспечении?