Это распространено не только в среде программистов- от любого мастера (парикмахера, сантехника, строителя) можно услышать фразу: “Да кто же так делает! Это все неправильно…” В отношении программистов эта фраза дополняется восклицанием: “Это все надо переписать! Я сейчас это сделаю.”
Если хочется так воскликнуть, советую- сдержитесь. Пойдите, попейте чайку, подумайте. Ничего не бывает просто так. С высокой долей вероятности можно сказать, что до вас этот код программировали не дураки. Скорее всего, такие же среднестатистические программисты, как и вы.
Если на ваш ПЕРВЫЙ взгляд вам кажется, что можно было сделать проще/лучше, то помните:
- Код был написан, скорее всего, несколько лет назад. Для программирования- это не малый срок:
- Может быть, в те времена было так принято писать.
- Не было такого API, которым можно было бы сделать все проще.
- Не было такого синтаксиса, позволяющего выразить мысль компактнее.
- Вы не знаете обстоятельств, которые сопутствовали его написанию:
- Просили сделать очень быстро- лишь бы работало.
- Хотели посмотреть “на попробовать” как будет и нужен был набросок. А потом возникли другие обстоятельства и про код забыли.
- Изначально было сделано хорошо, а потом код многократно изменялся разными программистами, проповедующими различные подходы к написанию кода, которые еще своего там намешали.
- Личные обстоятельства:
- Программист увольнялся- ему было “пофигу”.
- Не дали премию, мало заплатили.
Ну и, конечно, остаются варианты, относящиеся напрямую к исходной фразе: “Да кто же так делает!”:
- Мало предлагали денег по вакансии и на работу наняли слабого программиста.
- Наняли по блату.
- Наняли умного парня, но большого любителя поэкспериментировать.
Поэтому, не умничайте, а лучше вдумайтесь, почему сделано именно так, а не иначе. Скорее всего, потом Вы заметите, что все не так уж плохо, и код лучше не трогать.