受到Haskell的启发,已不太喜欢把局部变量定义在前面,而是喜欢一出来就直奔结果,但局部变量的定义既然不能放在后面(因JS没有类似Haskell这样的写法:doSomething someVar where someVar = someVal),就让它消解在表达式里,而这对表达式的清晰漂亮是有极高的要求。
1
随着编程水平的提升,现在越来越喜欢硬编码、重复代码和无用注释了。
5
搜索关键词历史,最多保留5条,最新使用的关键词置顶。函数式解法与命令式解法对比。
freemem于2021-06-23 16:30发布的图片
评论
freemem的头像
产品经理,黑客 @ happy banana
写朴素的注释,而不是豪华的。简单的告诉你和你的协作者,这个文件是做什么的,这个函数是做什么的,是最最重要的注释,哪怕别人说看起来像给傻子看的。写代码,应保持真诚,诚实,谦虚,而不是故弄玄虚。在代码规范上,可以有一条硬性要求,即每个文件/模块或类,每个函数或方法均必须无条件写一行注释,告诉我们它是做什么用的。
2
ts除了作为给傻x看的文档外,真是毫无意义,有那功夫不如把代码整利落点。
2
无论前端还是后端,应用程序的核心都是对状态和数据管理,为了使整个应该程序的状态对开发者清晰可控,在生产阶段能跟踪每个用户的行为并迅速解决异常(我们log所有前端日志到服务器),我们通过一次性加载全部pages组件,统一修改它们的所有的lifecycle, method, watch函数、改写了ref函数,并自己封装useGlobalState / usePersistState / emitter函数,实现了对应用程序状态的全面跟踪,有了这些,我们几乎不用再打什么日志了,并且应用程序应该变得更加健壮。效果如下图。
展开
freemem于2021-05-18 14:12发布的图片
freemem于2021-05-18 14:12发布的图片
1
我们用了三年的vue,因组件不易拆分,又转向用了差不多两年的react(hook),其间还有短暂尝试clojurescript+react/purescript,然后半年前,因为项目中要用uniapp,又回到vue,这次我们发现,vue的生命周期的状态管理包括最新的组合api,其实比react实现得更好,用得更舒服。只要细心管理状态和数据,vue更简洁和强大。
2
好的代码是低手看不懂,高手看起来简单清晰。坏的代码是高手和低手都看得懂,但都看不清晰。
2
vue composition/api的hook现实比react的hook好出好几条街,它的ref就是个简单对象,理解起来非常简单,在非组件模块里也能用,没有那么好乱七八糟的的规则,也不会导致组件的生命周期不停地mount/unmount。在vue1.0时期,我就曾问过尤雨溪,redux的全局状态这么麻烦,有没可能用一个简单对象实现全局状态,他给出了肯定回答,果然现在已经实现了,并且实现地很优雅。所以,我不止一次地说,vue这个框架,好就好在简单。
展开
4
为什么我喜欢lodash/fp,而不是ramda,因为前者具有很好的容错性和数据可预期性,而不是粗暴的动不动抛错。举个例子,所有的对数组的操作函数都应该返回数组,如果出现异常,应返回空数组,这是符合调用者对数据的预期的。因为运行时,你的什么类型检查,单元测试全都无用,你根本不可能控制数据类型和值精确地符合程序要求,在这种情况下,返回“最小单位元”(Haskell monoid概念)无疑比抛错让程序崩溃地好。
评论
程序为何会出bug?因为它通过了所有的静态类型检查和单元测试。后半句:代码逻辑一踏糊涂。
评论
随着手机屏幕越来越大,移动端UI标准字号从14,12调整到16,14势在必然。
3
最好的数据库设计工具是什么?在印象笔记助手里写下每个表名,仔细地为它们命名,再在你最爱的文本编辑器里逐一为它们写下create table语句。
评论
个人成就
文章被点赞11
文章被阅读1,729
掘力值25
收藏集
1
关注标签
53
加入于