Была у меня похожая ситуация. В какой-то момент осознал, что цели у руководства совсем не польза и качество, а испражнение в уши клиента, затягивание сроков и вытягивание денег клиентов.
Уволился в тот же день. Пофиг, что потом работу не сразу нашёл, пофиг, что проект не доделан, нормально сделать все равно бы не дали, пофиг на потраченное уже время, пофиг на все, лишь бы не переступить эту черту и не стать таким же. Один раз смалодушничаешь, обратно уже не вернешься.
Статья срезонировала, но я бы чуть расширил мысль.
Нельзя с первого раза написать хороший код.
Фиксировать интерфейсы, это хорошо, и обычно с них начинают, после беглого прикидывания их реализаций. Но всегда по мере развития проекта проверяются гипотезы, какие-то из них оказываются несостоятельны, могут поменяться требования, могут добавиться необходимые функции. И в какой-то момент код из красивой логичной конструкции становится кучей заплаток и костылей. Это нормально, в этот момент нужно переосмыслить весь полученный опыт, без сожаления перепроектировать все аспекты, к которым есть вопросы и начать новую итерацию.
То есть не сами интерфейсы проблема, а отказ от того, чтобы их переработать с полученным новым опытом.
Я все понимаю по поводу велосипедописания, это отличное времяпрепровождение, ещё и развивает прилично. (Сам этим занимаюсь, логгер очередной пишу)
Но с практической точки зрения, вот вы лет 5 уже на это потратили, а пользоваться этим вряд ли кто-то когда-то будет. Включая вас, если не считать разработку самого языка.
Как мне кажется, куда полезнее (и проще и быстрее) было бы написать линтер, который делал бы все те же проверки и запрещал бы ровно то же, что и ваш компилятор. При этом все коммьюнити, тулзы, утилиты, библиотеки остались бы от исходного языка.
Много людей могли взять ваш линтер на вооружение, и мир мог бы стать чуточку лучше.
Как пример, в го есть стандартный gofmt, а есть более строгий gofumt, и у него приличная аудитория.
Зашёл сюда ради таких комментов. Как-то мало у вас плюсов, неужто тема изжила себя?
Была у меня похожая ситуация. В какой-то момент осознал, что цели у руководства совсем не польза и качество, а испражнение в уши клиента, затягивание сроков и вытягивание денег клиентов.
Уволился в тот же день. Пофиг, что потом работу не сразу нашёл, пофиг, что проект не доделан, нормально сделать все равно бы не дали, пофиг на потраченное уже время, пофиг на все, лишь бы не переступить эту черту и не стать таким же. Один раз смалодушничаешь, обратно уже не вернешься.
Вроде текста много, основная мысль понятна, но что я могу почерпнуть и применить я так и не понял.
Статья срезонировала, но я бы чуть расширил мысль.
Нельзя с первого раза написать хороший код.
Фиксировать интерфейсы, это хорошо, и обычно с них начинают, после беглого прикидывания их реализаций. Но всегда по мере развития проекта проверяются гипотезы, какие-то из них оказываются несостоятельны, могут поменяться требования, могут добавиться необходимые функции. И в какой-то момент код из красивой логичной конструкции становится кучей заплаток и костылей. Это нормально, в этот момент нужно переосмыслить весь полученный опыт, без сожаления перепроектировать все аспекты, к которым есть вопросы и начать новую итерацию.
То есть не сами интерфейсы проблема, а отказ от того, чтобы их переработать с полученным новым опытом.
Я все понимаю по поводу велосипедописания, это отличное времяпрепровождение, ещё и развивает прилично. (Сам этим занимаюсь, логгер очередной пишу)
Но с практической точки зрения, вот вы лет 5 уже на это потратили, а пользоваться этим вряд ли кто-то когда-то будет. Включая вас, если не считать разработку самого языка.
Как мне кажется, куда полезнее (и проще и быстрее) было бы написать линтер, который делал бы все те же проверки и запрещал бы ровно то же, что и ваш компилятор. При этом все коммьюнити, тулзы, утилиты, библиотеки остались бы от исходного языка.
Много людей могли взять ваш линтер на вооружение, и мир мог бы стать чуточку лучше.
Как пример, в го есть стандартный gofmt, а есть более строгий gofumt, и у него приличная аудитория.
Успехов в любом случае!
Вот вроде и на русском языке текст но я ни одной мысли не уловил.
Будут по идее. Проверка, это же самостоятельное хеширование имеющихся данных, а потом сравнение хеша. Если хеш совпал, данные валидные.
То, что такой хеш уже был, ну и ладно.
Подобрать набор данных, чтобы получить заранее определённый хеш все ещё очень сложно. Ничего не нарушается.
Не могу не задать вопрос, а сейчас не обезьяны код пишут что ли по большей части?
Красава!