В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?
На текущей работе меня не устраивают:
- Поспешность. Фигак-фигак и в продакшн. Пришел утром на планерку без сделанного - сразу задумались об увольнении. Пофиг, что ты через полдня сдашь, но лучшее.
- Эстетство, а не тщательность. Считают, что код должен быть легкочитаемым, все должно быть кратко, по-модному сделано, ну и DRY, конечно. Новых членов команды иногда дрючат за код-стайл. Но... все как-то наполовину. Идеальный кодстайл все равно соблюдать не получается. И нету единых правил по кодстайлу на все случаи жизни. А сам факт, что я настолько заморачиваюсь, наводит коллег на мысль - не заняться ли мне вместо кода моим психическим здоровьем. Между тем по своей природе я именно стараюсь все делать предельно тщательно... хотя зачастую и не очень красиво, и уж тем более не модно. Насчет читаемости - судя по всему прочитать без труда я могу гораздо более сложный код, чем мои коллеги.
- Баги. Никто их не любит. Но и не делает ничего для того, чтобы их не было. Юнит-тесты весьма неполноценны. Тем более никто не проверяет код вручную как следует. Код на ревью смотрят на предмет вышеописанной "красоты", дикостью кажется им юзать ревью для поиска каких-то багов.
По их словам, на это уйдет целая вечность. Хотя я сам делаю такой ревью минут за 10-30.
Также, по их словам, нет смысла делать что-то особенное для поиска багов, потому что "баги все равно будут". Однако у меня есть опыт работы с заказчиками без команды, и точно могу сказать, что если баги искать, то серьезных багов не будет вообще (за год работы ни одного, а без проверок - несколько), а мелких почти не будет. Даже если делать все в спешке, все равно проверки спасут от любых существенных багов. Я не представляю, как можно не искать баги. Многие из них ведь просто по невнимательности допускаются.
- Любовь к новизне. Я предвзято отношусь к новым инструментам, новым версиям. Например, ненавижу язык Rust - он призван заменить C++, но он же совсем на него не похож! К чему бардак такой разводить? Сегодня еще и узнал, что в последних версиях Rust сломали обратную совместимость, хотя обещали, что она будет всегда. Такие вот случаи просто вымораживают меня. И их тоже вымораживают - но они все равно неустанно обновляют все до новейших версий. Тогда как я гораздо более сдержан в этом.
И насколько я знаю, такое почти во всех компаниях и во всех разновидностях продуктов.
А где не так?
Так я вроде не говорил, что я сильно хороший. Разве что по части багов: там уже просто очевидно, что если чего-то не любишь, то наверное надо с этим бороться, а если кто-то так не делает, то наверно он не очень умный. Ну и в чем тут максимализм? Тем более упомянул свой реальный опыт, где действительно удалось кол-во багов сильно сократить.
Либо у тебя на работе лютые макаки
Макакой считается тот, кто пишет некрасивый код, по-тупому. У нас в команде вообще-то таких нету, но если придираться, то это буду я, а не они.
А вот как организована сама разработка (надо ли все-таки баги искать специально и т.д.) тут можно поспорить, у меня ли это лучше или у них.
А вот за раст обидно, идеальный язык.
Breaking change это конкретная подстава. В C++ такое хоть раз было?
Ну и вообще это сыроватый язык.
А еще он очень мало на C++ похож.