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