Я видел много кода.

Так хочется кого-нибудь по-поучать. Да, я в курсе, что это плохо. Скоро не будет хотеться. Но сейчас я в области, в которой комфортно мне старому, где я нетерпим и совершенно нетолерантен, поэтому хочется.

А рассказать про код некому. Разве что текущему ведущему разработчику. Но смысла зря доставать человека не вижу. Здесь в блоге тоже смысла не много. Да и вообще в этом смысла не много. Никому не объяснишь, никого не переучишь. Исключения есть, но они подтверждают правило. Можешь делать — делай. Или не делай. А подкалывать, мол, смотри, как фигово написали, толку мало.

А ведь хочется :) . В проекте 30 модулей и все как из комнаты кривых зеркал. Похожи, но неодинаковые. Сидел сейчас, 10 минут $spectatorId = false в каждый вставлял. Что б нотисы убрать. Можно конечно их скрыть, но это неправильный подход.

Сегодня, думаю, уже возьмусь за функционал. Наконец-то.

Комментарии (3) на “Я видел много кода.”

  1. А я после всего стал относиться к коду похуистически. Заявления типа «боже, ты используешь fopen fread fclose вместо readfile» меня просто бесят. Да весь «ваш» сраный ПХП — дерьмо, тут однохуйственно что использовать. И если уж на то пошло, то в моей связке контроля над происходящим больше, попробуйте прочитать файл 1000 мегабайт с помощью хваленого…. опять взбесился

    Ну или меня дико бесит, когда кто-то «я раньше юзал функции, я был так туп, а теперь я юзаю классы и я мега-имбо-кодер». Млять, нахуй тут классы, когда экземпляр как правило всего один? Выебнуцо выражением типа $this->getImage();? Ну если только.

    Про рефакторинг тоже так же. Если код исполняется 0.0012, а я его довел до 0.0011 я не испытываю экстах и не считаю тех, у кого он выполняется за 0.0012 лохами. Тут вообще херня, считаю, что если код выполняется меньше 1.5 секунд — ему нафиг никакой рефакторинг не нужен. Ибо результат передаваться будет все равно дольше. Рефакторинг нужен, если сайт вообще тормозит или если код вообще нечитабельным.

    Единственное, за что я руками и ногами за — это защито от взлома.

    А, ну и пара слов нубо-идиотам, которые неделю поизучали ПХП и стали мега-фрилансерами: сдохните, суки.

    P.S. Секрет, в комменте к тебе вроде бы вообще ничего не относится, просто наболело.

  2. polansk:

    DimoninG, ты участвовал в проекте над которым одновременно работали хотя бы три программиста? Просто любопытно.

  3. Секрет:

    DimoninG, что наболело, понимаю. Попробую конструктивно ответить.

    а. Контроль над происходящим нужен тогда, когда он нужен. file_get_contents (ты про неё ведь?) короче, для понимания, минус одна переменная. Когда у тебя 30 модулей, 60 php-шаблонов (ничего типа smarty у нас не прикручено), 80 таблиц читабельность кода становится действительно важной. Что б ты взглянул на код и всё понял сразу. Две строки — фигня. Но пару сотен раз по две строки становится заметно.

    б. Обьекты не для клонирования. Они для инкапсуляции. В некоторых случаях ты можешь использовать статические методы, если удобно. Грубо и просто — для того, что б если есть переменная $q, которую используешь в двух функциях, её не пришлось называть my_unique_name_for_variable_q и не пришлось делать её глобальной. Когда кода становится несколько мегов, тяжело будет запоминать все эти уникальные имена, что бы не перезаписать какую-нибудь переменную (а баги с изменившей значение переменной вообще тяжело отлавливать. Это я ещё по pascal 7.0 помню, лет 10 назад).

    в. Ключевое не то, сколько времени исполняется код. 0.5 сек и 0.6 — для юзера разница не большая. Ключевое то, как это нагружает систему. Когда два четырёхядерных сервера дохнут под базой, ты думаешь не о том, как сэкономить 0.1 сек, а как сделать на 2 запроса на страницу меньше.
    Ещё один довод для рефакторинга — поддержка кода. В большом проекте время поддержки, добавления функций в рабочий проект, исправление багов больше, чем время начального написания. И иногда добавлять фичи становится нереально, приходится городить протез на протезе, условие на условии, что б это работало.

Можно чего-нибудь сказануть.