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

Резултати

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

Търсене: #avispas

当前筛选 #avispas清除筛选
Fotos y Fondos

@fotosyfondos · Post #13373 · 29.01.2021 г., 21:18

📸🖼📸🖼📸🖼📸🖼📸🖼📸🖼📸🖼 *LISTA DE CONTENIDO* #3D#Abstractos#Adidas#AgenciasGubernamentales#Aguilas#Ajedrez#Alien#Alimentos#Amaneceres#AmericanHorrorStory#Amor#Android#Animales#Anime#Anonymous#Ankh#Apple#Arco#Ardillas#Arena#Armas#ArteDigital#Asgard#Asiatico#Assassin#Atardecer#AtleticoDeMadrid#Atletismo#Atomos#Audi#Avatar#Aviones#Avispas#Badminton#Balones#Banderas#Batman#Bebidas#Billar#BlancoyNegro#Bombillas#Boobsleigh#Boeing#Bolas#Bombones#Bosque#Boxeo#Bufalos#Buhos#Burbujas#Burt#Caballos#Cachorros#Cactus#Calaveras#CamaraFotos#Camiones#Canicas#CapitanAmerica#Caramelos#CarrilesTren#Cartas#Casas#Castillos#CazaCombate#Cerezas#Charizard#Chevrolet#Chocolate#CIA#Cibernetica#Ciclismo#Cielo#Cine#Ciudades#Ciencia#CienciaFiccion#Ciervos#Ciudades#CocaCola#Coches#Cohetes#Colibris#Colores#Comic#Comida#Consolas#Constelaciones#Corazones#Cubos#CuerposDeSeguridad#Dados#Daisy#Dardos#DarthVader#DeadPool#DeathNote#DC#Delfines#Deporte#Deportivo#Destructor#Dibujos#DJ#Donald#Dracula#Dragones#Dubai#Duendes#Dulces#Edificios#Egipto#Ejercitos#ElCirco#Elefantes#Elfos#Elvis#Emoticonos#Escalada#Escudos#Esferas#Esgrima#Espadas#España#Esqueletos#Estadio#Estrellas#Fantasia#FarolesChinos#Ferrari#FinalFantasy#Firmamento#Flamencos#Flash#Flores#Focas#Fortnite#FondosDePantalla#Fruta#Fuego#FuegosArtificiales#Fusil#Futbol#FutbolAmericano#Galaxias#Gamecube#Gameboy#Gatos#Geometria#GhostRider#Golf#Gominolas#Goofy#GuardiaCivil#GuardianesDeLaGalaxia#Guerreros#Guerreras#Guitarra#Hadas#Hamer#HarleyQuinn#HeavyMetal#Helicopteros#Hockey#Homer#Hulk#Humor#Iconos#Informatica#Insectos#Instrumentos#IronMaiden#Islas#Italia#JacekYerka#Japon#JudasPriest#JuegoDeTronos#Jocker#Judo#Juegos#Katana#KGB#KimetsuNoYaiba#Kiss#Lago#LaLuna#LaMuerte#LaTierra#Lamborghini#Legendario#Lenovo#Leones#Leopardos#Linux#Logos#Loros#LosSimpson#Madrid#Mahjong#Marcas#MarioBross#Mariposas#Marvel#Maserati#McLaren#Mercedes#Mesas#Metallica#MI5#Mickey#Miedo#Militar#Mini#Minions#Minnie#Misiles#Monopoly#Montañas#MontañaRusa#Monumentos#Motos#Motocross#Motorhead#Mossad#Muñecos#Musica#Narcos#Naruto#NASA#Natacion#Naturaleza#Navegacion#Naves#Navidad#Nike#Nintendo#Nissan#Nosferatu#NotasMusicales#NSA#Ojos#OnePiece#OsosPanda#OVNI#OzzyOsbourne#Pacman#Paisajes#Pajaros#Palacios#Panteras#Paraguas#Parejas#ParqueDeAtracciones#Partituras#Pasajeros#PastorAleman#Payasos#Peces#Pelicanos#Peliculas#Perros#Peugeot#PNG#Pikachu#Pingüinos#Pinturas#Piramides#Pistolas#Planetas#Plantas#Playas#Playstation#Pluto#Pokemon#Poker#Poketball#PoliciaNacional#PoloNorte#Popeye#Porsche#Puentes#Ranas#RayosTruenos#RealMadrid#RickyMorty#Rifle#Rubik#Samsung#Samurai#Saturno#SeleccionEspañola#SeriesTV#Shabak#Snowboard#Sombreros#SpiderMan#StarWars#Stryper#SuperMan#SuperGirl#Surrealista#Surf#Tanques#Tartas#Tecnologia#Templos#Tenis#Terror#Textos#Texturas#Thanos#Tiburones#Tigres#TombRaider#Tortugas#Tropper#Tuneles#TV#Unicornios#Universo#Vampiros#Vampiras#Vela#Venecia#Venom#VideoJuegos#Violin#Vitruvio#Voleibol#Warcry#Windows#WonderWoman#WorldOfCraf#YinYang#Zippo @fotosyfondos 📸🖼📸🖼📸🖼📸🖼📸🖼📸🖼📸🖼

Hashtags

#3d#abstractos#adidas#agenciasgubernamentales#aguilas#ajedrez#alien#alimentos#amaneceres#americanhorrorstory#amor#android#animales#anime#anonymous#ankh#apple#arco#ardillas#arena#armas#artedigital#asgard#asiatico#assassin#atardecer#atleticodemadrid#atletismo#atomos#audi#avatar#aviones#avispas#badminton#balones#banderas#batman#bebidas#billar#blancoynegro#bombillas#boobsleigh#boeing#bolas#bombones#bosque#boxeo#bufalos#buhos#burbujas#burt#caballos#cachorros#cactus#calaveras#camarafotos#camiones#canicas#capitanamerica#caramelos#carrilestren#cartas#casas#castillos#cazacombate#cerezas#charizard#chevrolet#chocolate#cia#cibernetica#ciclismo#cielo#cine#ciudades#ciencia#cienciaficcion#ciervos#cocacola#coches#cohetes#colibris#colores#comic#comida#consolas#constelaciones#corazones#cubos#cuerposdeseguridad#dados#daisy#dardos#darthvader#deadpool#deathnote#dc#delfines#deporte#deportivo#destructor#dibujos#dj#donald#dracula#dragones#dubai#duendes#dulces#edificios#egipto#ejercitos#elcirco#elefantes#elfos#elvis#emoticonos#escalada#escudos#esferas#esgrima#espadas#españa#esqueletos#estadio#estrellas#fantasia#faroleschinos#ferrari#finalfantasy#firmamento#flamencos#flash#flores#focas#fortnite#fondosdepantalla#fruta#fuego#fuegosartificiales#fusil#futbol#futbolamericano#galaxias#gamecube#gameboy#gatos#geometria#ghostrider#golf#gominolas#goofy#guardiacivil#guardianesdelagalaxia#guerreros#guerreras#guitarra#hadas#hamer#harleyquinn#heavymetal#helicopteros#hockey#homer#hulk#humor#iconos#informatica#insectos#instrumentos#ironmaiden#islas#italia#jacekyerka#japon#judaspriest#juegodetronos#jocker#judo#juegos#katana#kgb#kimetsunoyaiba#kiss#lago#laluna#lamuerte#latierra#lamborghini#legendario#lenovo#leones#leopardos#linux#logos#loros#lossimpson#madrid#mahjong#marcas#mariobross#mariposas#marvel#maserati#mclaren#mercedes#mesas#metallica#mi5#mickey#miedo#militar#mini#minions#minnie#misiles#monopoly#montañas#montañarusa#monumentos#motos#motocross#motorhead#mossad#muñecos#musica#narcos#naruto#nasa#natacion#naturaleza#navegacion#naves#navidad#nike#nintendo#nissan#nosferatu#notasmusicales#nsa#ojos#onepiece#osospanda#ovni#ozzyosbourne#pacman#paisajes#pajaros#palacios#panteras#paraguas#parejas#parquedeatracciones#partituras#pasajeros#pastoraleman#payasos#peces#pelicanos#peliculas#perros#peugeot#png#pikachu#pingüinos#pinturas#piramides#pistolas#planetas#plantas#playas#playstation#pluto#pokemon#poker#poketball#policianacional#polonorte#popeye#porsche#puentes#ranas#rayostruenos#realmadrid#rickymorty#rifle#rubik#samsung#samurai#saturno#seleccionespañola#seriestv#shabak#snowboard#sombreros#spiderman#starwars#stryper#superman#supergirl#surrealista#surf#tanques#tartas#tecnologia#templos#tenis#terror#textos#texturas#thanos#tiburones#tigres#tombraider#tortugas#tropper#tuneles#tv#unicornios#universo#vampiros#vampiras#vela#venecia#venom#videojuegos#violin#vitruvio#voleibol#warcry#windows#wonderwoman#worldofcraf#yinyang#zippo