• Как правильно обрабатывать HTTP запросы?

    @GesigesendGesets
    правильно не писать собственных библиотек без нужды. да еще и на Си

    - если content length != 0 записываю в буфер.

    оно соснет, чувак
    because content-length is optional
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, ты просто никак не поймешь, где команда, а где я один.
    мог бы хотя бы догадаться, что там, где есть команда и какие-то отделы, там я не контактирую особо с заказчиками-то, и не знаю, чего они у кого спросили.
    а это именно про проект, где я один. по факту все делаю я один и расширять как-то штат никто не торопится. а те, кто "вызовется" - это другие люди на примете, которые знают что-то в проекте, потому как знакомы с его родственниками по дереву форков (тема не шибко популярная, но таковые есть).
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, писать тесты на переполнение типов?
    серьезно?
    а если там сложный расчет, то все равно подставить такие значения, чтобы переполнилось?
    просто я в этих проектах пришел к тому, что: хочешь код без багов - тестируй вручную, долго и нудно, и код читай глазами, долго и нудно. знаешь, на чем я сэкономил в том проекте, где ранее работала команда, а потом стал работать один я на таком же объеме задач? именно на тестах. их не стало вообще. ужас? но уже сколько времени и багов почти нет, а при команде тесты были, но и баги прекрасно ускользали от тестов. заказчики, кстати, не сильно были шокированы, увидев, что тестов нет. такие: "а за сколько тесты напишешь? или может кто другой вызовется?" ну назвал, сколько мне доплатить. оказалось тесты не нужны) и другой никто не вызвался)

    Просто у обычных людей по два глаза, поэтому 4-6 глаз имеется ввиду разработчик (2 глаза) и 1-2 человека на код-ревью (еще 2-4 глаза) - обычно непосредственный куратор и тимлид, получается в сумме 4-6 глаз.

    я думал, ты про иконки глаза в списки Reviewers. там получаются одноглазые ревьюры :)
    а так-то, получается, что ревью у нас норм. всегда как минимум 1 человек - сеньор или лид. чаще 2. то есть оба. бывает иногда и 3.
    но работает это лишь формально. чисто чтоб гитхаб не позорно выглядел.
    а проблема куда более тонкая - она просто в том, что у них времени нету нормально ревьюить, да и трудолюбия не хватает)
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Одиночка Айс, в проекте, где я работаю, прикол в том, что дохода как такового я не приношу вообще. как и никто его не приносит там.
    изначально был наш собственный проект, так он убыточный, и инвесторы его бросили. поэтому его разработка приостановлена. и теперь команда работает в других проектах как подрядчик, чтобы сам тимлид (он имеет некоторую нужную базу) скопил деньги и из них потом платил за работу над нашим собственным проектом.
    а прибыль если и будет, то до нее пока и палкой не докинуть :)
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, а нормальный кодревью по-твоему каждую строчку проверяет?
    это я уже не что-то доказать пытаюсь, а просто интересуюсь.
    мое мнение - нет, не каждую строчку... а каждую букву. потому что баг бывает разным. это крупный баг, когда все не так сделано, видно сразу. но крупный баг это уже признак плохого взаимодействия в команде. а мелкий, допущенный по невнимательности, может быть совсем малозаметным, типа забыли числовой тип кастануть к более крупному и возможно переполнение типа в этом месте. или какую-то проверку добавить.

    в 4-6 глаз

    а зачем столько?
    1-2 человек не хватит, при условии, что будут уделять достаточно времени (а не как вышеописанные сеньор с лидом)?
    просто если у нас будет 4-6 глаз - то любой PR джуниора погрязнет в доработках "косметического" и архитектурного типа. а не устранении багов. я же говорю, что я не всегда идеален в этих моментах, если задача срочная, то наверно и никто не идеален. а они лезть будут.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, можно вопрос, а в каком месте минимальная ответственность у блокчейна? это блокчейн, чувак. если на обычном сайте стотыщ Васи Пупкина из-за бага ушли к Саше Шубкиной, то пока она их на шубку не потратила, берем и правим прям в базе и все. а в блокчейне если так сделать, то все инвесторы ап стенку убьются - мол, баг у них, да еще и важнейший принцип б\ч нарушают, взяли в одну харю и поменяли что-то. кроме того, в БД залезть и изменение внести это одно, а провести хардфорк на всех нодах бч это другое. и код старых хардфорков убрать из бч нельзя, так что все баги даже двухлетней давности там увековечиваются и вместе с костылями по их фиксу смотрятся как опухоли.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, ты слишком подозрительный.
    сеньоры и лиды - ну а если бы я на автотематику писал, то тебя бы наводило на подозрения, что то я пишу "в автомобилях есть выхлопная труба", то "на фото в автомобиле выхлопной трубы нет, а вот новая труба, сейчас буду ставить". ведь действительно, выхлопная труба и есть и нет одновременно, и автомобилей у меня получается то много, то один!
    на самом деле когда я пишу во множественном числе - я просто говорю о сеньорах и лидах вообще. проецируя свой опыт со своими конкретными сеньором и лидом. но и не только этот опыт.
    а с проектами, ну сообрази ты уже, что у меня две работы - на первой один проект, где я работаю без команды (а ранее была команда), а на второй команда и она кочует из одного проекта в другой.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, не знаю почему какие-то десятки мерещатся. в команде 1 сеньор, 1 лид, 1 джуниор в виде меня. такая вот убогая команда.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, дело в том, что он мне год-два назад не казался и сейчас не кажется.

    И уж тем более, для скорости разработки сейчас активно используется уже существующий код.

    да я не против зависимостей и библиотек.
    я против того, когда код, решающий конкретную задачу, разбивают на модули, которые не поддаются повторному использованию. да, это выглядит красиво, типа "конструктор лего" - вот здесь надо будет добавить еще одну кнопку - я это в одну строчку сделаю. но на практике ее не придется сюда добавлять. а если придется, то - внимание - придется человеку, который не знает, как устроены внутри блоки этого конструктора, и потратит время, или будет бояться багов (и не без оснований). а было бы оно единым монолитным блоком - потратил бы МЕНЬШЕ времени.
    а еще придется добавить что-то принципиально меняющее эту архитектуру. и глубокомысленно думать как же такую красоту при этом не обезобразить.

    ЛЮБОЙ программист может прочитать и разобрать все. Вопрос во времени, то есть в деньгах для заказчика и команды.

    мне проще разобрать код, в котором деление на части довольно-таки ограниченное.
    а вот сеньоры и лиды стонут, что тяжело им.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Владимир Коротенко, не мой брат.
    применяю но не к начальству. они пошлют нафиг и найдут другого джуниора. как патрон в магазине: выгорел - заменили. а слушать не будут, принимать работу не будут. переводить ежедневную оплату не будут.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Владимир Коротенко,
    Это ваши должностные обязанности.

    да не вопрос.
    мне даже нравится делать все полностью самому.
    но зачем тогда сеньоры и лиды?
    и ты не обратил внимание на тот момент, что они меня ругают и даже пытаются уволить, как только кажется, что я "ничего не делаю" и не успею ничего в срок. на самом деле это как правило просто новую кодовую базу подогнали и слишком быстро хотят какой-то результат получить. например вчера целый SDK дали, а сегодня утром уже скандал, что я до сих пор не сделал целый плагин на нем. не отрицаю, иногда в этом виноваты вышестоящие люди, заказчики. но подчиненных надо беречь от стресса а не наоборот добавлять. я сам устойчив к стрессу и там, где я один, мне не добавляют его и там мне норм. ну даже если глобально не успел, заказчики психанули, послали - доделал, поговорил, продолжили работать.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Владимир Коротенко, я не в яндексе работаю, а в весьма мелкой конторе (по бюджетам), чего уж говорить если 1 джун, 1 лид, 1 сеньор. однако стоят за ней весьма небедные люди и таки да, пафоса много.

    Скидывать рутину на джунов вполне нормальна практика.

    а что же тогда не рутина, если:
    - изучение новой кодовой базы
    - обсуждение задачи с заказчиком (через сеньора и лида)
    - реализация кода
    - проверка кода, покрытие тестами
    это ВСЁ рутина?
    по-моему это не рутина, а весь процесс разработки.
    сами сеньоры и лиды задают архитектуру лишь в сааамых общих чертах. а не так, что сделай такой-то класс, такой-то метод, так-то свяжи с тем-то классом.
    вот если бы так подробно... или только юнит-тесты на меня сваливали... то да, рутина была бы.
    и в другом проекте я и с этими справляюсь без них.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Никита Михайлов, Кнут говорил о преждевременной оптимизации.

    ради денег - это вообще норм в этом мире. а уж если ради того, чтобы не быть уволенным, то тем более. им деньги не так важно, у них з\п хорошая, и репутация не позволит им быть уволенными, что бы они ни сделали.

    и... ну как бы, я уже достаточный уровень имею, чтобы они не так многое поправляли за мной. в основном не по оптимальности кода, а по читаемости, по их мнению. зато допускают грубые ошибки в организации работы и общении с заказчиком. создавая большой стресс, а не уменьшая его. я-то в отличие от них очень стрессоустойчивый человек, я интроверт, меня трудно пронять всерьез. и там, где я работаю один, гораздо меньший стресс (напрямую от заказчика, а не усиленный сеньором и лидом) я терплю вообще не напрягаясь. не успел в дедлайн, психанули, послали - доделал, сдал, поговорил, все норм.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Bavashi, не всегда оформляют, чтобы не исписывать.
    берет обратно потому что прошу его хорошо, и потому что он сам не очень умный наверное. вот и не может точно определиться. хотя вон в ответах почти все защищают сеньоров и лидов)
    чтобы не просил, пытались меня блокировать по всем каналам связи (кидать в ЧС), отобрав вообще все контакты с командой, то есть с сеньором, лидом и еще одним знакомым лида :) а также все доступы ко всем гитхабам, ci и прочему.
    сами они обычно в другом городе. но тем не менее не могут заблокировать все. что-то остается.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Saboteur, не путаю. Я выше пишу именно про проект, который разрабатываю один. Видишь, сколько там языков перечислено. Может столько быть в одном компоненте? Нет. Это разные компоненты одного проекта.

    Насчет моей крутости, тут дело такое. Я самоучка. И я, пока сюда не устроился, был весьма далек от хороших практик написания кода, стандартов и даже просто новых версий языков, на которых пишу. Сейчас - более-менее. Но все равно мне очень свойственно писать код проще и примитивнее, чем то, что пишет синьор и лид в этих редких случаях. И таки да, я могу порой забить на эстетику и читаемость. В моем понимании, сложный код - это когда слишком много отдельных частей (классов, методов), которые при этом используются только в этом коде, а не служат хелперами\утилами. А вот если то же самое сделать более громоздко, даже с некоторым "повторами-себя", но зато без множества частей, то этот код простой. Сам я способен и не такое прочитать и разобрать, я еще и реверс-инженер бывший, ухахаха :)
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Если навсегда, то почему в принципе вы еще пишете код? Разве он не должен был быть уже давным давно написан навсегда?

    Имелось в виду, что именно в рамках этой задачи больше не будет код правиться. Поэтому код проверяется и тестируется основательно. А в команде, когда сданный на ревью PR может быть завернут из-за мелочи, неохота его нормально проверять. Проверяешь только после мержа PR и то не всегда нормально. Бывает увольняют и надо вообще срочно сделать все и прийти возвращаться. Какие тут проверки.

    И да, я сам прихожу возвращаться. Меня никто не просит обратно. Чуток просили, только когда сам уволился из-за того, что надоело все это. Не знаю, может они ждут от джуниора наличие двух голов, одна спит, другая работает. Может просто хотят менять джуниоров как патроны - выгорел - нового берем. Но во всяком случае, хоть и берут обратно, а просить особо не просят.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Так вы один или у вас есть сеньоры и лиды?

    Внимательнее. Проекты разные. Команда кочует по проектам. А один из проектов после команды я разрабатывал один. Параллельно работал в команде над другими проектами, а этот был как подработка. Кстати, некислая такая подработка, что и неудивительно. Только вот неофициальная и потому без соцпакета. Но зато возможность сравнить - как лучше работать - в этой команде или вне ее.

    Число багов после ухода команды может упасть потому что разработка упала. Гораздо меньше багов, если никто ничего не пишет, это же Л - Логика.

    Разработка точно не упала. А мое участие даже выросло. Весь проект теперь на мне. И багов у меня (а почти все баги, что были - это и были мои, потому что я был только один джуниор в команде, остальные - сеньор и лид, которые почти не кодят, а только проектируют и планируют, и то по вершкам) стало меньше.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Bavashi, нет, я сам прошусь к ним. Тот кто уволил не может понять, что в новом коде надо сначала разобраться, а потом делать. Я ему это в очередной раз объясняю, он чисто интуитивно сомневается такой весь, брать меня, не брать... Ну, берет. Не знаю будут ли сами звать, если не попрошусь. Но во всяком случае обратно брать берут. "Не хочешь к нам" было только тогда когда сам уволился, ибо надоело все это. И таки захотел, деваться некуда.
  • Сеньоры и лиды - это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

    @GesigesendGesets Автор вопроса
    Никита Михайлов,
    Каким образом?

    в коде полно багов по невнимательности. их и ищу и устраняю.
    бывает и такое, что поторопился и ради денег (оплата-то сдельная, в отличие от команды) сдал то что в продакшне будет тормозить. вообще не удосужившись хорошо подумать над сделанным. но до релиза есть время, платят за задачи а не за релиз. и вот в это время я допилю этот код, сохранив его суть.

    Ну вот это и есть подход джуна

    это еще и почти подход Дональда Кнута