懒人做饭
前言
最近疫情动不动禁堂食,在家做饭的频率被迫提高了不少,总结出了点自己喂饱自己的经验,分享。想起来什么写什么。
用品推荐
电饭煲。现代文明利器,蒸米,蒸面食,煮粥,熬汤。买普通的大小(家庭用),电饭煲做出来的菜都可以吃多顿,用单人电饭煲一顿饭一做,多处理几次食材还多刷几次锅。
最近疫情动不动禁堂食,在家做饭的频率被迫提高了不少,总结出了点自己喂饱自己的经验,分享。想起来什么写什么。
电饭煲。现代文明利器,蒸米,蒸面食,煮粥,熬汤。买普通的大小(家庭用),电饭煲做出来的菜都可以吃多顿,用单人电饭煲一顿饭一做,多处理几次食材还多刷几次锅。
看这篇文章的 1.6.6 Currying 这一节。
需要编程语言把函数当作 first-class,一等成员,即允许函数被:用参数传递给函数、被函数返回、被赋值给变量。这种函数内定义的函数,可以捕获它们被定义时(注意不是被调用时,记住这点就能弄明白)环境的变量定义,而且还能在被返回时保留这些定义(闭包)。于是我们可以用工厂模式一样的高级函数,输入一些配置参数,返回的是一个配置好的函数,然后我们再用这个参数去实际地用。
首先提醒一下记得单一职责原则(SRP)是面向对象实践下的设计原则,也是SOLID五大面向对象设计原则之一。然后不要重复自己(DRY)原则则是更泛化的编程原则,也可以用在编程工作以外。这个短文讲两个原则的关系,总归还是把前提限定在了面向对象编程之内。
我记得这是哪本书上的例子,大概是Clean Code,它是用这个例子来解释 SRP 的含义的,我稍微改一下,不翻原书了:
需求 1:有三种员工,经理和普通员工和临时工,计算他们薪资的算法是相同的。
需求 1 映射到代码里就是,三个分开的员工类,然后三个类计算薪资的方法内部会调用同一个工具函数,DRY,对吧。
我不是装机发烧友,过程中也请教了不少朋友和互联网,但现在想想其实不是很麻烦,主要是没有整体的知识框架,是无知导致的畏手畏脚。所以把最近第一次组装台式主机的经历和总结记下来,如果能帮到其他人就更好了。
就算知道配件的知识,什么接口什么协议,那些都是抽象的行业标准,对选配件没太大帮助。比如你知道牛奶的国标,但还是在货架旁纠结买哪个品牌的牛奶。和买牛奶一样,选电脑配件就是选品牌,需要对品牌甚至品牌下的产品线有一个整体的了解,不是发烧友一般不会主动去获取这方面的知识。下面我会多次提到某个配件“竞争品牌多,勤搜索论坛和评测,注意别翻车”这类话,就是指,首先搜着看一些广谱的推荐文章,选定一些品牌型号,然后挨个在网上搜这个型号的评价。
本文旨在配合图示帮助读者理解单元测试中的“Mock”这个技巧概念,希望下次开发时大家可以用到这个技巧。
简单说一下单元测试的概念:
except和actual两个变量名。调用方法会产生两种行为,两种行为可同时发生,但至少发生一种,要不它就失去了作为方法的方生意义: