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

Резултати

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

Търсене: #cmlkcuba

当前筛选 #cmlkcuba清除筛选
La Tizza

@latizadecuba · Post #1278 · 06.09.2023 г., 19:24

El 11 de septiembre de 1973, Salvador Allende cayó en combate en el Palacio de La Moneda. El Golpe de Estado, perpetrado por la cúpula de la FF.AA. en conturbenio con la CIA y el gobierno de los Estados Unidos, fue acompañado por atroces detenciones arbitrarias y masivas, secuestros y desapariciones forzadas, torturas y asesinatos. Desde el año anterior al hecho, y sobre todo a mediados de 1973, habían arribado a Cuba muchos jóvenes chilenos para cursar estudios. Entre ellos, Paula Sánchez, con ocho meses de embarazo, a quién Zurrón del Aprendiz - Silvio Rodríguez le dedicará una de sus más tiernas canciones. De un día a otro, el exilio marcó el destino de sus vidas por muchos años. Le siguieron no pocos chilenos y chilenas. El barrio de Alamar, nuestros trabajadores y trabajadoras y sus microbrigadas, comenzaron a destinar apartamentos para acoger a estos y otros exiliados de las dictaduras latinoamericanas. La resistencia del pueblo chileno y sus organizaciones ocupó nuestra solidaridad. Casa de las Américas_La Habana, Cuba, fue unos de esos templos donde se hizo latente. Este 11 de septiembre, a las 5:00pm, a 50 años del Golpe de Estado al gobierno popular de Allende, trovadoras y trovadores chilenos y cubanos, unirán canción y poesía para conmemorar esa fecha y la larga resistencia del pueblo chileno contra el fascismo y la dictadura. ¡Allí te esperamos! #CMLKCuba#Chile#CMLK#CMLKRedes#Allende#SalvadorAllende#Trova#EducaciónPopular https://www.instagram.com/p/Cw1GdejM94Z/?igshid=YTUzYTFiZDMwYg==

La Tizza

@latizadecuba · Post #1090 · 29.08.2022 г., 16:30

La creación del nuevo #CódigodelasFamilias ha sido un proceso político, ético, educativo y jurídico trascendente. Nos deja testimonios de diálogo, búsqueda de consensos, protagonismo de la sociedad civil, de los derechos como argumento y la decisión popular —mediante referéndum— como modos de participación en la política. Ha sido una oportunidad colectiva, social, histórica y moral para que las cubanas y los cubanos produzcamos más justicia. Una oportunidad para que los buenos afectos, la política y la ley se encuentren en un mismo camino. El Código es un ensayo para que la sociedad toda reproduzca relaciones de poder dignas, afectuosas, con base en los derechos y las responsabilidades, de compromiso con el bienestar personal y común. Nos invita a ir más allá, como pueblo responsable de su propia liberación, en la apuesta por el respeto a la diversidad. La nueva ley propone modelos más inclusivos, justos, cooperativos, dialógicos y solidarios. Es un Código para la autoridad sin autoritarismo, la responsabilidad sin posesión, los límites sin violencia. ¡Derecho a tener derechos! Es la máxima que esta ley concreta. El derecho de cualquier persona a la adopción. El derecho a definir el orden de los apellidos. El derecho de una persona a llevar los apellidos de sus dos madres. El derecho a que una abuela o abuelo tenga responsabilidades sobre sus nietos y nietas cuando mamá y papá deciden no estar. El derecho a que dos hombres se casen y encuentren en ello la bendición de Dios. El derecho a que un anciano o anciana no deambule porque su familia no le quiere dentro de la casa. El derecho a que una persona homosexual herede los bienes compartidos con su pareja durante décadas. El derecho a la comunicación con niños y niñas por el afecto y los cuidados, no por estricta condición biológica. El derecho a que dos mujeres lesbianas puedan concebir una criatura de conjunto. El derecho al divorcio sin culpas. El derecho a beneficios por viudez o separación sin que medie el matrimonio. El derecho a que una persona tenga más de una madre y un padre. El derecho a la gestación solidaria como un acto de amor. El derecho a que una persona cuidadora reciba protección y respaldo económico. El derecho de las niñas, niños y adolescentes a que se les escuche, se les quiera y se les respete en su individualidad. El derecho a la protección legal y afectiva frente a las manifestaciones de violencia. El derecho a recibir beneficios y protección por el trabajo doméstico. 𝐃𝐞𝐬𝐝𝐞 𝐞𝐥 𝐂𝐞𝐧𝐭𝐫𝐨 𝐌𝐞𝐦𝐨𝐫𝐢𝐚𝐥 𝐃𝐫. 𝐌𝐚𝐫𝐭𝐢𝐧 𝐋𝐮𝐭𝐡𝐞𝐫 𝐊𝐢𝐧𝐠 𝐉𝐫., 𝐯𝐨𝐭𝐚𝐦𝐨𝐬 𝐒í 𝐩𝐨𝐫𝐪𝐮𝐞 𝐞𝐧 𝐞𝐬𝐭𝐞 𝐂ó𝐝𝐢𝐠𝐨 𝐬𝐞𝐧𝐭𝐢𝐦𝐨𝐬 𝐥𝐚 𝐩𝐫𝐞𝐬𝐞𝐧𝐜𝐢𝐚 𝐝𝐞 𝐃𝐢𝐨𝐬. 𝐕𝐨𝐭𝐚𝐦𝐨𝐬 𝐒í 𝐩𝐚𝐫𝐚 𝐪𝐮𝐞 𝐥𝐨𝐬 𝐝𝐞𝐫𝐞𝐜𝐡𝐨𝐬 𝐧𝐨 𝐬𝐞𝐚𝐧 𝐩𝐫𝐢𝐯𝐢𝐥𝐞𝐠𝐢𝐨𝐬 𝐝𝐞 𝐩𝐨𝐜𝐚𝐬 𝐩𝐞𝐫𝐬𝐨𝐧𝐚𝐬. 𝐕𝐨𝐭𝐚𝐦𝐨𝐬 𝐒í 𝐜𝐨𝐧𝐭𝐫𝐚 𝐭𝐨𝐝𝐚 𝐝𝐢𝐬𝐜𝐫𝐢𝐦𝐢𝐧𝐚𝐜𝐢ó𝐧 𝐲 𝐞𝐱𝐜𝐥𝐮𝐬𝐢ó𝐧. 𝐕𝐨𝐭𝐚𝐦𝐨𝐬 𝐒í 𝐩𝐚𝐫𝐚 𝐪𝐮𝐞 𝐥𝐚 𝐝𝐢𝐠𝐧𝐢𝐝𝐚𝐝 𝐬𝐞 𝐩𝐫𝐨𝐭𝐞𝐣𝐚 𝐝𝐞𝐬𝐝𝐞 𝐥𝐚𝐬 𝐟𝐚𝐦𝐢𝐥𝐢𝐚𝐬. 𝐕𝐨𝐭𝐚𝐦𝐨𝐬 𝐒í 𝐩𝐨𝐫 𝐞𝐥 𝐞𝐦𝐩𝐞𝐧ñ𝐨 𝐝𝐞 𝐜𝐫𝐞𝐚𝐫, 𝐞𝐧𝐭𝐫𝐞 𝐭𝐨𝐝𝐚𝐬 𝐲 𝐭𝐨𝐝𝐨𝐬, 𝐮𝐧 𝐩𝐚𝐢í𝐬 𝐜𝐨𝐧 𝐭𝐨𝐝𝐚 𝐥𝐚 𝐣𝐮𝐬𝐭𝐢𝐜𝐢𝐚 𝐲 𝐭𝐨𝐝𝐚 𝐥𝐚 𝐛𝐞𝐥𝐥𝐞𝐳𝐚. 𝐕𝐨𝐭𝐚𝐦𝐨𝐬 𝐒í 𝐩𝐨𝐫 𝐞𝐥 𝐚𝐦𝐨𝐫 𝐡𝐞𝐜𝐡𝐨 𝐥𝐞𝐲. #Sí#FamiliasCubanas#VotamosSí#CódigoSí#QueElAmorSeaLey#CMLKRedes#CMLKCuba#SíAlCódigoDeLasFamilias#Cuba https://www.facebook.com/134961706639831/posts/pfbid02SMdNigQpEkQuTGdBixCiJX2478soW88JjZzJeyPwKj4yZPUphCRw1MY3c5RRqgUfl/