May 23, 2006 13:43
Собственно, больше можно уже ничего не писать.
Но так как чем длиннее пост, тем лучше, постараюсь раскрыть тему. Хак в программе разрушает ее логичность и универсальность. Но, что делать, их все равно (иногда) создают. В то время, как хаков конечно надо стыдиться и всеми силами души стремиться избавиться от них, совсем не стоит их скрывать.
Допустим, есть интерфейс к подсистеме, но вас он временно не устраивает. Можно конечно начать обращаться к подсистеме в обход этого интерфейса, но я бы просто добавил в API новый метод. С префиксом или суфиксом “hack” в имени. Теперь мы никого не обманываем, интерфейс точно отражает реальную ситуацию. И значит, можно будет легко найти все точки, где программа использует хаки, когда мы наконец до них доберемся.
Противопоказания.
Конечно, если это API публичное, может и не стоит поступать так эксцентрично; но ведь большинство интерфейсов внутренние.
Если в существующем API и так с трудом можно разобраться, например, оно сводится к морю int-овых констант, то добавлять туда что-нибудь новое, тем более временное я бы побоялся.
java