计算机哲学
文章平均质量分 74
蓝贝壳壳
热爱软件事业 崇尚自由 一个不愿成为码农的码农 多年苦心探索和参悟 希望解放全天下苦逼的码农
展开
-
不会做产品的程序不是好测试
不会做产品的程序不是好测试,不才当年设计的实习生自动过滤器,能考虑到5个以上得分点,直接录用。原创 2021-05-17 21:53:48 · 121 阅读 · 0 评论 -
一道笔试题展示的良苦用心——珍爱生命远离递归
通过一个递归增长速度远远大于斐波那契数列的笔试题目的代码优化效果,向读者展示一个核心编程思想:“珍爱生命,远离递归”。希望读者将“禁止使用一切形式递归纳入日常编程规范”。原创 2021-05-16 22:13:34 · 135 阅读 · 0 评论 -
在Go中用json序列化未知类型的巧妙方法
我们知道Go的json库可以方便的在json字符串和go类型之间相互转换。然而现实中经常遇到这样的需求,需要序列化的object类型是“未知”的,需要根据某个固定字段来判断用什么类型来序列化。如如下json数据表示animal数组的话,实际上所有的attr字段的具体类型是需要根据kind字段的值来确定的。这种数据表示在像javascript这样的动态语言表达起来很自然,但在go这样的静态类型语言里,描述起来就不是那么容易了。原创 2021-05-07 23:53:06 · 1534 阅读 · 6 评论 -
关于代码可读可维护问题的一些浅见
关于程序可读可维护问题的一些浅见,从在go语言中如何优雅的实现枚举映射,到理想编程语言的表达力及代码执行时机的一些思考。原创 2021-05-03 23:41:44 · 627 阅读 · 5 评论 -
像写诗一样撸代码是怎样的体验
关于容器空间扩容问题的精巧设计,实现过采用连续空间存储的序列式容器如vector,deque的同学都知道,由于需要在插入效率和动态扩容之间取得平衡,往往需要设计一个合理空间扩容策略,来满足大多数情况下的动态增长的需求且效率损失可控。原创 2021-05-01 23:03:06 · 281 阅读 · 2 评论 -
论软件设计中的哲学观
所谓哲学,即跳出事物的表面现象,通过一些客观理性的分析,得出一些更接近事物本质的结论。从而以一种大世界的视角,来观察和解读这个世界。如道家所谓的“一”,佛家所云的“众生平等”。软件设计中的哲学观,即以一种“一”的视角,来评价和反思我们的设计,仅仅实现需求就是对的吗?第一次有人告诉我这个概念,是在大概10年前,我参加工作的第一个导师,一个偏执但让我很敬佩的华工怪才。当然那个时候初生牛犊,没有原创 2015-08-21 23:20:24 · 1842 阅读 · 0 评论 -
不要让递归函数fuck大家的cpu
递归算法是大学计算机课程里面经常会讲到的编程方法,因为采用这种方法写出来 的代码清晰易懂。但是,在大多数编程规范里面,会严令禁止使用递归函数,原因下面来详细说明。首先,由于逻辑错误,由直接或间接递归,造成递归调用无法结束(死递归),最后肯定会收到一个"stack overflow"的宕机信息。就暂且不论了。下面要详细讨论的是,简单的递归代码是如何fuck计算机运行时系统的。这里用计算Fibonacc原创 2016-10-13 22:50:30 · 2262 阅读 · 0 评论