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

Резултати

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

Търсене: #lunch

当前筛选 #lunch清除筛选
Dishes.Cooking.Food

@cookingdish · Post #191 · 04.11.2023 г., 06:02

Crepes Chicken with White Sauce! 😋 Ingredients: For the Crepes: * 1 cup Flour * 2 Eggs * 2 cups Milk * 1/4 tsp Salt * 2 tbsp Butter (melted) For the Chicken Filling: * 2 Chicken breasts * 1 tbsp Olive oil * 1/2 Onion * 1/2 Green bell pepper * 1/2 Red bell pepper * 1/2 Yellow bell pepper * 1/2 Orange bell pepper * 2 cloves Garlic * 1/2 tsp Dried thyme * 1/2 tsp Dried oregano * 1/2 tsp Paprika * 1/2 tsp Smoked paprika * 1/2 tsp Salt * 1/4 tsp Black pepper * 1/2 cup White sauce * 1/2 cup Mozzarella cheese For White Sauce: * 2 tbsp Butter * 2 tbsp Flour * 2 cups Milk * 1/4 tsp Salt * 1/4 tsp Black pepper #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #183 · 31.10.2023 г., 06:02

Stuffed Mini Peppers! 🌶🌶🌶 Ingredients: * 800 g. Mini sweet peppers * 300 g. Ground beef * 150 g. Ground pork * 1/2 cup Rice * 1 Onion * 2 Carrot * Parsley * Salt/Pepper * 1 cup of Water * 1/4 tsp Cayenne pepper * 1 tbsp Sugar * 500 ml. Tomato Juice #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #171 · 25.10.2023 г., 05:01

🍜Miso Ramen Bowl! 🍜 Ingredients: * Baby Bella mushrooms a handful * 1 Carrot * 2 Green onion * Bean sprouts * 1 Boiled egg (soft or medium-boiled) * 2 tbsp Miso paste * 200 g. Ramen noodles * 2-3 Baby Bok choy (halved) * 2 Fried chicken thighs marinated in (Garlic, Ginger, Soy Sauce, Sesame Oil, Mirin) Sauce #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #145 · 10.10.2023 г., 05:02

Creamy Salmon Chowder!🍲 Ingredients: * 700 g. Salmon fillet, skinless, cut into chunks * 2 Potatoes, diced * 3 Celery stalks, chopped * 1 cup Yellow corn * 1 Jalapeño pepper * 1 bunch Scallions * 1 Onion finely chopped * 3 Garlic cloves, minced * 1 tbsp Cornstarch * 1 qt Chicken or vegetable broth * 1 cups Heavy cream * 3 slices Bacon * 2 tbsp Butter * Salt and black pepper: to taste #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #127 · 26.09.2023 г., 05:02

Cabbage Rolls! 🥬🥬🥬 Ingredients: * 1 Cabbage (10-12 leaves) * 1/4 cup Jasmine rice * 1 Carrot * 1/2 Onion * 1/2 Bunch of scallions * 1 g. Fresh ginger * 3 Cloves of garlic * 1/2 Chili pepper * 1/4 cup Soy sauce * 400 g. Mushrooms * Sesame seeds * Salt/Pepper to taste Sauce: * 1 tsp Sesame oil * 1 tsp Chili pepper * 1/2 tbsp Ginger minced * 1 Cloves minced garlic * 2 tbsp Tamari * 1 tbsp Rice vinegar * 1 tsp Maple syrup * 1/2 cup (120 ml) Water * 1/2 tbsp Cornstarch #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #99 · 12.09.2023 г., 05:02

Gazpacho! 🍅🍅🍅 Ingredients: * 2 Medium tomatoes * 1/4 large cucumber * 1/4 Green pepper * 1/5 Medium red onion * 2 Cloves of garlic * 1 Slice ciabatta * 2 tbsp Olive oil * 1 tbsp Red wine vinegar * Salt/Pepper to taste #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #98 · 11.09.2023 г., 05:02

Zesty and Zingy The Art of Flavor Fusion, Orange Ginger Chicken Magic!🍊 Ingredients: * 2-3 Chicken breasts * 1/4 cup Fresh orange juice * 1/3 cup Orange ginger sauce * 2 tbsp Soy sauce * 1 tbsp Grated ginger * 2 Cloves garlic * 1 tbsp Honey * 1 tbsp Chili sauce * 1/2 tsp Orange zest * Salt and pepper * 2 tbsp Vegetable oil * 1/3 cup Chicken broth * Broccoli florets * Sliced green onions for garnish #lunch @dishes

Hashtags

美食素材圈

@meishi_sucai · Post #22856 · 27.02.2026 г., 07:36

#午饭#做饭#三文鱼#Lunch#Cooking#Salmon ➖➖➖➖➖➖➖➖ 📚【话术需求区】点击.... 👄【深夜小电影】点击.... 🧑🏼‍🦰【人设套图区】点击.... 🔞【人设私密照】点击.... 👨‍🎨【绘画频道区】点击.... 🛵【 跑腿代购 】点击.... 👉广告投放

Lunch ~ будние дни с 12:00 до 16:00 ⌚️24/7 📍Новый Арбат, 15 📲+79773541515 #афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#lunch

Время обеда с 12:00 ~ 16:00 по будням! В этот промежуток каждый сможет насладиться не только вкусными блюдами, но и атмосферой дружелюбия и уюта ⌚️24/7 📍Новый Арбат, 15 📲+79773541515 #афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#lunch#food

Пора сделать паузу, вырваться из рутинного водоворота дел. Ждем вас в МТ 😍 ⌚️24/7 📍Новый Арбат, 15 📲+79773541515 #афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#instamoscow#music#концерты#lunch#foods

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