Alexander 🐕
я не понял, к чему ты это написал
К тому, что я, возможно, не хочу никогда иметь дела с никаким написанным тобой кодом
Alexander
ну, обычно в стартапах код пишется, чтобы быть использованным пару раз, а потом выкинутым или переписанным в очередной версии
Alexander 🐕
И в какой момент надо переставать делать говно?
Alexander
это постоянная работа без каких-либо ТЗ, вот завтра пришло в голову что-то - мы быстро накодили, потом пришло в голову другое - переделали, оно может глючить местами, но если 1/100 аудитории столкнётся с ошибками и уйдёт с проекта - фиг с ними, работаем ради большинства, это же не атомный реактор, где ошибка в 1/100 случае очень важна
Alexander 🐕
Когда у тебя уже 6 миллионов регистраций?
Alexander 🐕
Статический анализатор кода можно нахуй послать?
Alexander 🐕
Статические анализаторы кода есть и для пайтона
Alexander
ну, когда нашли масштабируемую модель и перестали сильно менять проект
Alexander 🐕
И есть PEP на опциональные аннотации типов
Alexander
ну да, есть
Alexander
да, читал, интересно
Alexander
но я не буду это использовать, потому что это замедляет скорость разработки экспериментов
Alexander 🐕
ну, когда нашли масштабируемую модель и перестали сильно менять проект
Или когда у тебя вместо типа "сообщение" по RPC приходит тип "резина с усиками", и сервис встает раком на полночи
Alexander
тут нужно понимать баланс
Alexander
совсем говно делать нельзя, конечно
Alexander 🐕
Ну - люди не дураки
Alexander
но и качественно тоже делать не нужно, потому что скорость важна
Alexander
не нужно в MVP писать тесты на всё
Alexander 🐕
Люди уже и к C++ Хиндли-Милнера приделали
Alexander 🐕
не нужно в MVP писать тесты на всё
Статический анализатор кода от написания некоторых тестов избавляет вообще
Alexander
вообще, мне нравятся BDD-тесты, они достаточно простые и близкие к бизнес-логике
Alexander 🐕
Но твои рассуждения применимы к разработке под Node.JS
Alexander 🐕
Когда архитектор-хипстерок это взял, "потому что быстрый"
Alexander 🐕
А я на днях перечитывал микроблог за 2012-й год
Alexander
ну, я может бы и согласился, но JS не оч люблю
Alexander
вообще не люблю)
Alexander 🐕
И выяснил, что я, во-первых, начал использовать ZFS под Linux еще осенью 2011-го (отсоси, Хрыч!)
Nikolay
😂
Alexander 🐕
А, во-вторых, Node.JS мы с криком и матом патчили весной 2012-го
Alexander 🐕
Хлебнули тогда говна на неделю
Alexander 🐕
Потому что "быстрый"
Kirill
ну, я может бы и согласился, но JS не оч люблю
я так год назад говорил. но ничего, приходится на реактике че-то пилить, хоть я и бэкендер вообще.
Alexander 🐕
Так что качество кода OpenSSL я оценил еще до того, как пудлы и хартблиды пошли
Alexander
я буду использовать Aurelia когда она дозреет
Alexander 🐕
Потом и остальные оценили
Kirill
я сегодня с дуру прочитал 100 строк кода из ноды. с криком и матом закрыл и ушел пить кофе. потому что "быстрый" говнокод.
Alexander
ну, я понимаю ваши чувства, но смысл любых стартапов обычно заключается в том, что "мы нихрена не понимаем, как зарабатывать, но у нас куча идей, чем больше идей мы перепробуем за ограниченный промежуток времени - тем выше шанс, что мы найдём нужную и сможем выйти на окупаемость"
Alexander
вот когда эту идею находим (если находим) - тогда говнокод и превращается в неговнокод
Kirill
потому что и так "быстро"
Alexander
ну, смысл в том, что как можно больше идей перепробовать, код должен быть в таком качестве, чтобы можно было проверить идею, больше не нужно
Alexander
нашли нужную идею - делаем как следует, возможно, даже на другом ЯП
Alexander 🐕
Знал я, скажем так, один стартап
Alexander
(но скорее всего, на том же самом, просто рефакторим всё)
Alexander 🐕
У которого прямо в момент продаж одной крупной организации
Alexander 🐕
Счетчики начали уходить в область отрицательных величин
Alexander 🐕
"Запроцешшено -1012 айтемов"
Alexander 🐕
Ну - в организации удивились
Alexander 🐕
Разработчикам попытались дать пизды, но разве это возможно
Alexander 🐕
В итоге, сделано так - сначала работает тот обсчет, который уходит в минус
Alexander 🐕
Потом - полный пересчет всего, который считает нормально
Alexander 🐕
Зафиксить по-человечески не представляется возможным
Alexander 🐕
Ну расскажи мне теперь про бизнес
Alexander
😊)
Kirill
я уже около полугода ну совсем не понимаю, как можно писать говнокод. ну вот кто бл_ть так делает? стыдно же должно быть еще во время написания, ну.
Alexander
просто кофаундеры собрали денег, условно, на 6 месяцев работы программистов, можно или 1-2 варианта написать нормально или 10 тяп-ляп, для бизнеса лучше второй вариант
Alexander
этот код не на выставку идёт
Alexander
допустим, выигрышным является каждый пятый вариант, какой шанс что компания найдёт его?
Alexander
ущерб от говнокода есть, но он меньше ущерба от "не успеть найти выигрышный вариант и обанкротиться"
Alexander
из двух зол выбираем меньшее, не так ли?
Alexander
и "каждый пятый" - это чересчур оптимистичная оценка
Alexander
если звёзды правильно сошлись и были выбраны нормальные 5 вариантов
Alexander
на первом этапе говнокодят по этой причине, на втором этапе (допустим, нашли бизнес-модель) говнокодят потому что зачастую дешевле исправлять последствия говнокода, чем писать нормально сразу
Alexander
а нормально начинают писать, когда исправлять последствия оказывается дороже, чем сразу написать нормально
Kirill
или не начинают
Alexander
если мелкая компания, то и не начинают)
Kirill
я себя приучил сразу писать нормально. это же нихрена не сложно и занимает ровно столько же времени, чем говнокод (по моим замерам). почему нельзя сделать также?
Alexander
так всё упирается во время) если можно повысить качество с минимальными затратами времени - так и делают, если нельзя - жертвуют качеством ради более быстрых результатов, потому что это может быть важнее/дешевле, чем качественный код
Alexander
клиент, заходя на проект, не видит код, он не очень-то понимает, кривой там код или нет
Alexander
понимает только тот 1/100, у кого 500 ошибка вылезла)
Alexander
вот этот вопрос, на мой взгляд, хорошо разделяет позиции инженеров и менеджеров
Nikita Dwarf
вот такое мне выводит, хотя модуль включил
Alexander
по соображениям безопасности лучше выключать вывод списка файлов директории
Alexander
(по проблеме не знаю что подсказать, сорри)