240 发简信
IP属地:陕西
  • No choice is a good choice

    愚蠢的实现各有各的蠢法,好的代码有相似的气质。比如说吧,在一个既有的函数里增加一个分支,写法包括 1. 敲一颗钉子进去 foo(){ ……...

  • Resize,w 360,h 240
  • Resize,w 360,h 240
    数据拆分和基础行为

    全无设计的代码会将数据一股脑的扔到一个结构或类中,最终导致上帝类,超长的函数和超长的文件的出现。这样的实现是难以扩展,难以应对变化的。如果你...

  • 行为分类和实现组合编程

    数据大体上可以分为 接口类数据 和非接口类数据。前者意味着契约,后者关于实现,后边提及数据,一般指后一种。数据还可以从 生命周期,聚合根,等...

  • 数据不应该被直接访问

    即便是使用c语言的嵌入式开发,也不应该直接用类似p->a.b的方式访问数据。这么做一方面意味着对数据缺乏抽象,毫无设计。另一方面意味着数据存...

  • self 和 The Zen of Python 的理解

    为什么需要self 这两天coding的时候想到一个问题,Python中class为什么需要self作为内部方法的第一个入参?明显的解释是解决...

  • 为什么选择DSL(下)

    软件和组织架构的一致性 先做一个小结,软件面临的核心问题是功能扩展时的成本(人力、时间、故障等综合考虑)。解决的基本思路,其一、引入各种软件设计...