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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #247 · 11.03

Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе. Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода. Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу". С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой. Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого. Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :) Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие. #dev

Hashtags

Резултати

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

Търсене: #campus

当前筛选 #campus清除筛选

#Ping#Campus v3.25.11.1 华为出品的专业WIFI调试工具箱 商业软件,Google了一下,网上貌似都没有公开下载的入口,由于之前的文章被误删,好东西避免大家迷路,所以再次分享一下 (顺便说下当前的Mihomo内核在TUN&DIRECT出口下,是为数不多支持ICMPing的,后期我将会分享一些关于ICMP的细节和Campus使用技巧)

Hashtags

近几天没上tg,刚刚知道十天前哈工大遇到了高温天气,有学生跑到行政楼门口打地铺,中国学生和留学生交流了一下发现留学生有空调。不禁想到了鲁迅先生的一句话:愿中国青年都摆脱冷气,只是向上走。 #Campus 校园 #China 中国 #Dormitory 宿舍 #Fun 有趣 #InternationalStudents 留学生 #Meme 梗 #News 新闻

今年寒假我不能/不敢回家过年了。西安这次疫情是武汉之后全国最严重的一次,我在宿舍里上了一个多月网课还没有等到西安解封,天天做核酸检测,几个小时看一次疫情最新消息。寒假的前半段不能回家,要在宿舍继续上课。解封之后的寒假后半段我不敢回北京,因为要举办冬奥会。“全程闭环管理,中方人员全部接种疫苗,外国运动员接种疫苗后可以免隔离,未接种疫苗需隔离21天。”,要是两个月前看到这些,我会相信冬奥会很安全。 之前社会上的防疫措施听起来也很安全,入境人员闭环转运到隔离点,居民普遍接种疫苗。然而闭环没有闭住,泄露出的病毒在西安全市遍地开花,害得我被封锁在宿舍里,憋了一个月快要憋出精神问题了。可想而知现在的我看到冬奥会的政策是什么感受。 我凌晨一点就打开了Telegram,写了几句话之后觉得心情很不好,试着去看一些其他的东西逃避一下目前的紧张状态。虽然身体被封在宿舍里,但是我想让大脑暂时沉浸在其他的事情里,假装脱离了这个环境。不知从哪里找到了《集中营六记》,这是疫情期间滞留在印度的中国人在“集中营”写的一篇十万字长文,我看了一个通宵。文中的“集中营”自由度很高,甚至比大学宿舍还高一些,不仅能上网带手机还可以买菜做饭甚至装修牢房(!!),我住的这间宿舍反而更像集中营。 现在是早上七点五十,快上课了。回到现实的感觉好不舒服,明明已经沉浸在故事里暂时忘了现实感觉到自由了,一会儿又要回到被封锁的现实生活里,感觉就像从墙外翻进了墙里。 一夜没睡有点语无伦次了,有些句子我改了几次才说通顺…… 身边抱怨这种严格防疫的声音越来越多了。全面封锁追求病例清零,一次封锁可以靠积蓄挺过去,总有封锁就很难承受了,尤其是在不发补贴的情况下。 被封了快一个月才来写这篇日记,并不是我忍耐力好,而是我不想为了写日记把自己的负面情绪再回忆一遍。暂时逃避一下,过一段时间也许就忘了这些压力了。以前我这么做过,有时有用。 然而一个月之后我发现逃避并没有用,我没能忘掉这些事,反而让压力越积越多快崩溃了,写出来释放一下也许会好一些。 #Block 封锁 #Campus 校园 #Comment 评论 #Covid 新冠 #Diary 日记 #Disappointed 失望 #Dormitory 宿舍 #Emotion 感情 #Experience 经验 #Feeling 感觉

Directory 目录 / Tags list 标签列表 : Life 生活 : #Comment 评论 #Diary 日记 #Disappointed 失望 #Emotion 感情 #Experience 经验 #Feeling 感觉 #Fun 有趣 #Hope 希望 #Imagination 想象 #Life 生活 #Like 喜欢 #Memory 记忆 #Original 原创 #Thought 想法 #Unlike 不喜欢 Things 事物 : #Block 封锁 #Cat 猫 #Covid 新冠 #Food 食品 #Meme 梗 #News 新闻 #Society 社会 #Transport 交通 #Volunteering 志愿服务 #Website 网站 Region 地区: #Beijing 北京 #Canada 加拿大 #China 中国 #DPRK 北韩 #Europe 欧洲 #HongKong 香港 #Japan 日本 #Map 地图 #Singapore 新加坡 #UnitedStates 美国 Location 地点 : #Campus 校园 #Classroom 教室 #Dormitory 宿舍 #Embassy 大使馆 #Restaurant 餐厅 #Road 马路 #Sidewalk 人行道 #Station 车站 People 人 : #Ace 大佬 #Bachelor 学士 #Classmates 同学 #Freshman 新生 #Friends 朋友 #Genius 天才 #Group 群体 #InternationalStudents 留学生 #InternetFriends 网友 #LGBTQ#Master 硕士 #PHD 博士 #Professor 教授 #Pupil 小学生 #Teacher 教师 Learning 学习 : #Book 书 #Careless 粗心 #Course 课程 #Delay 拖延 #Essay 小论文 #Examination 考试 #Exercise 练习 #Forget 忘记 #Homework 作业 #Learning 学习 #Lecture 讲座 #Mistake 错误 #NCEE 高考 #Notes 笔记 #Presentation 展示 #Preview 预习 #Question 问题 #Ranking 排名 #Reading 阅读 #Report 报告 #Review 复习 #Score 分数 #Slides 幻灯片 Research 研究 #ACM#arXiv#Conference 会议 #IEEEComputer#Paper 论文 #Preprint 预印本 #Research 研究 #SIG Natural Science 自然科学 : #Biology 生物 #Chemistry 化学 #ElectronicEngineering 电子工程 #Geography 地理 #Geology 地质 #Medicine 医学 #Physics 物理 #Technology 科技 Social Science 社会科学 : #Anthropology 人类学 #BusinessStudies 商业研究 #Communication 沟通 #Finance 金融 #Genderstudies 性别研究 #Law 法律 #Marketing 营销 #Psychology 心理学 #Politics 政治学 #Sociology 社会学 #Language 语言 : #Accent 口音 #Chinese 中文 #English 英语 #Etymology 语源 #French 法语 #Grammar 语法 #GRE#Greek 希腊语 #IELTS 雅思 #Japanese 日语 #Latin 拉丁语 #Listening 听力 #Phrase 词组 #Prefix 前缀 #Pronounciation发音#RootWord 词根 #Speaking 口语 #Suffix 后缀 #Writing 写作 #Word 单词