TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 15 подобни публикации

Търсене: #vie

当前筛选 #vie清除筛选

​​#vie 14 февраля во Франции Во Франции день всех влюбленных издавна был весьма почитаемым. Это праздник не только двух любящих людей, но и всех, кого любят: бабушек, дедушек, друзей, знакомых. Именно галантные французы претендуют на право «введения» первыми у себя столь популярных нынче «валентинок». Только в Средние века это были не открытки, а любовные послания-четверостишия. Примечательно, что день св. Валентина считается наиболее удачным днем для предложения руки и сердца. С праздником! Любите и будьте любимы! ❤️

Hashtags

​​#vie 28 января 1887 года началось строительство знаменитой парижской красавицы. Постройка длилась два года и закончилась прямо к открытию Exposition universelle de 1889, где она была представлена в качестве одного из экспонатов.

Hashtags

#vie «Взрослые очень любят цифры. Когда рассказываешь им, что у тебя появился новый друг, они никогда не спросят о самом главном. Никогда они не скажут: «А какой у него голос? В какие игры он любит играть? Ловит ли он бабочек?» Они спрашивают: «Сколько ему лет? Сколько у него братьев? Сколько он весит? Сколько зарабатывает его отец?» И после этого воображают, что узнали человека. Когда говоришь взрослым: «Я видел красивый дом из розового кирпича, в окнах у него герань, а на крыше голуби», - они никак не могут представить себе этот дом. Им надо сказать: "Я видел дом за сто тысяч франков», - и тогда они восклицают: «Какая красота!»

Hashtags

#vie Французский бульдог Первоначально они были богемными собаками, которые развлекали публику на светских вечеринках в Париже. Со временем они показали, что являются идеальными домашними питомцами

Hashtags

#vie В 1969 году вышел роман французского писателя Жоржа­ Перека «La disparition». Одной из ключевых особенностей романа ста­ло то, что в нём не было ни одной бук­вы e — самой употребляемой буквы во французском языке. По такому же принципу — без буквы e — книга была переведена на английский, немецкий и итальянский языки. В 2005 году роман вышел на русском в переводе Валерия Кислова под названием «Исчезание». В этом варианте нельзя встретить букву о, так как именно она является самой частой в русском языке.

Hashtags

#vie Beaujolais nouveau Изначально торжество имело чисто коммерческий характер. Виноделы Бургундии сумели превратить недостатки молодого вина в его достоинства. Сорт винограда «черный гамэ» созревает очень быстро, но при этом его нельзя долго хранить. Поэтому у Божоле не может быть многолетней выдержки — в этом его особенность. Но любят его за то, что молодое вино обладает легким вкусом и тонким ароматом. Место, откуда начинается праздник, называется Божо. Это небольшой городок во Франции, где на главной площади размещают бочки с вином. Вечером на нее выходят местные виноделы с факелами в руках, а в полночь бочки открывают и под струи молодого вина подставляют бокалы. Так и начинается праздник Божоле во Франции. В этот день у французов есть еще одна традиция. Они посещают несколько баров и в каждом выпивают по бокалу молодого вина. Особенностью божоле является то, что его можно пить как утром, так и вечером. Но не всем по вкусу и статусу молодое вино. По большому счету во Франции оно так и не приобрело даже статус полноценного вина — это бодрящий «напиток», повышающий настроение.

Hashtags

12
ПредишнаСтр. 1 от 2Следваща