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

Резултати

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

Търсене: #missionday

当前筛选 #missionday清除筛选
RCNN Ticker

@RCNNticker · Post #996 · 10.01.2020 г., 19:01

【新一年,新的任務日申請流程】 #MissionDay Ingress 任務日一向叫好又叫座:既聯繫兩個陣營,復引領大家探索新城市。我們期待在新的年代能延續如此美好體驗,繼續全球支援任務日。 謹此奉告新的更簡易的任務日申請指南,並開放2020年的任務日申請: 任務日申請指南:http://bit.ly/MissionDay2020Guideline 2020年任務日申請表:http://bit.ly/MIssionDay2020Application 更新事項: - 申請者毋須安排簽退場地 - 申請時須同時交納任務詳情 - 參加者毋須預先登記 - 參加者毋須簽退 - 合作方或活動贊助方並非必須 完整詳情請參閱《任務日申請指南》 已公佈行將舉辦大戰或Hexathlon的城市,其聯動的任務日申請將獲優先考慮。 期待收到您的申請,在2020年結伴闖盪!

Hashtags

Ingress 中文

@IngressChinese · Post #339 · 10.01.2020 г., 19:00

【新一年,新的任務日申請流程】 #MissionDay Ingress 任務日一向叫好又叫座:既聯繫兩個陣營,復引領大家探索新城市。我們期待在新的年代能延續如此美好體驗,繼續全球支援任務日。 謹此奉告新的更簡易的任務日申請指南,並開放2020年的任務日申請: 任務日申請指南:http://bit.ly/MissionDay2020Guideline 2020年任務日申請表:http://bit.ly/MIssionDay2020Application 更新事項: - 申請者毋須安排簽退場地 - 申請時須同時交納任務詳情 - 參加者毋須預先登記 - 參加者毋須簽退 - 合作方或活動贊助方並非必須 完整詳情請參閱《任務日申請指南》 已公佈行將舉辦大戰或Hexathlon的城市,其聯動的任務日申請將獲優先考慮。 期待收到您的申請,在2020年結伴闖盪!

Hashtags

RCNN Ticker

@RCNNticker · Post #308 · 07.12.2017 г., 10:04

若您有完成 #MissionDay#TaipeiSehKe 並進行檢錄,卻沒有得到 MissionDay 成就章,請盡快與 MD 藍軍負責人 @DaisyMau 聯絡 If you have successfully checked out for #MissionDay#TaipeiSehKe, but failed to receive the MD medal, please contact RES MD POC @DaisyMau

RCNN Ticker

@RCNNticker · Post #385 · 03.03.2018 г., 01:19

#MissionDay#XMFestival 4/7 福岡將舉辦一場融合了 Mission Day 及碎片戰的 XM 盛會!在碎片戰結束後,會有官方的 after party,宣布重要事項 Mission Day 報名: http://events.ingress.com/MissionDay/Fukuoka2018 XM Festival 報名: http://events.ingress.com/XMFestivalFukuoka 消息來源: https://plus.google.com/+Ingress/posts/N1TDWNK4tz5

XMLinkUp

@XMLinkUp · Post #392 · 02.02.2018 г., 11:12

https://ingresschiayi.com/ Ingress 嘉義任務日官網正式上線囉! 今年台灣燈會移師嘉義,這次特別與 ingress 合作舉辦任務日活動,誠摯邀請各位玩家來嘉義一起共襄盛舉! 現場除了有準備給玩家的各種小禮物之外,還有照片投稿比賽的大獎:ADA 15唷!機會難得,敬請把握 😁 這次的任務點,包含嘉義各個富有特色的景點,完成任務之後晚上可以欣賞美麗的台灣燈會,可說是非常適合探員們攜家帶眷一起出門玩唷! #Ingress#MissionDay#Chiayi

Ingress 中文

@IngressChinese · Post #584 · 28.10.2024 г., 05:31

臺南市政府觀光旅遊局為表彰在台南表現出色的各位,特別安排了以下額外嘉奬。 在本週日(11 月 3 日)完成 6 個「Mission Day Tainan 2024」任務,即可獲得獨家獎牌。 請於 17:30 前,在國立臺南大學指定攤位出示您的掃描器及任務完成記錄。先到先得,送完即止。 我們感謝臺南市政府觀光旅遊局對本次行動的支持。 更多資訊請見:https://www.twtainan.net/zh-tw/event/activitydetail/6826 #Ingress#ErasedMemories#Tainan#MissionDay

Ingress 中文

@IngressChinese · Post #358 · 16.03.2020 г., 23:00

【Ingress實地活動變更通知】 特工們, 我們不無遺憾地宣佈以下活動更動: - 四月四日 #IngressFS 首週六活動:全球所有場次取消 - 四月廿五日 #Lexicon#Hexathlon :全15場及其聯動 #MissionDay 任務日延期 - 五月九日 #Requiem#Anomaly :(即慕尼黑大戰)延期 - 五月九日至七月三日 #NL1331X :全線各站及其聯動 #MissionDay 任務日延期 所有延期後新的日程及報名安排,我們期望於12個月內補辦並將另行公佈。 這段期間,我們一直密切注意 COVID-19 的事態。全球各地疫情不一、政策不一,舉辦活動的風險也不一,在世界多個城市同時舉辦活動極易顧此失彼。我們深悉不少特工對原定的各項活動磨拳擦掌翹首以待,但我們的首要目標總是以所有人的安康為念。後續我們會繼續聽取配合遵從全球衛生專家及各地官方機構的風險評估及防治指引,盡快規劃補辦活動事宜。 感謝各位的耐心及體諒。請各位善自珍重。祝各位身心康寧。 -- Ingress 活動團隊致意 https://community.ingress.com/en/discussion/10024/updates-to-upcoming-ingress-events/p1?new=1

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