240 发简信
IP属地:四川
  • @michelearn 估计不会有更多了……那都是大学的时候写的,现在工作都是做网络安全,反爬这一块了😂

    3.启发函数(heuristic)的设计

    启发函数的介绍 是一种函数用来估算当前state和 目标state之间的距离,用于路径决策。也就是说,该函数的IQ直接决定了寻找路径的快慢和准确度(accuracy)在A*算...

  • 4. 对象和数据结构(面向过程)

    数据抽象在面对对象的设计中,我们更希望不暴露数据细节,更希望以抽象形态表述数据。对外提供的接口不该暴露对象或者数据的细节,通过抽象的函数描述来实现细节的隐藏。 面向过程和对象...

  • 3. 注释与格式

    注释的作用是弥补我们在用代码表达意图时遭受的失败 注释就是一种失败,用代码来表示意图才是真正需要的。 注释不能美化糟糕的代码写注释的时间,不如美化糟糕的代码 有的时候,代码不...

  • 2.函数

    1. 函数要短小if,else,while等语句等,其中的代码块应该只有一行:一个调用函数。该函数的名字需要有较强的说明性,从而增加了文档上的价值。这也意味着函数不应该大到足...

  • clean code

    总结: 能通过所以的测试 没有重复的代码 体现系统中所有的设计理念 包括尽量少的实体,比如类,方法,函数等。

  • 1. 有意义的命名

    1. 命名要名副其实命名要体现这个东西的本意,不需要注释来补充 2. 避免误导命名要避免一些大家常识中的名字和原意冲突的情况,包括0,o,I(i), l(L) 3. 做出有意...

  • 12. Object Pool模式

    场景 一台机器有20个对外的TCP/IP端口,当请求超过20个时,多余的请求就会等待,直到有空缺的端口出现。当一个端口出现故障的时候,自动切换到一个新的端口,没有端口空闲则等...

  • 11. Decorator模式

    场景 王大叔的大伯开了一家店,这家店在打印发票的时候,有的时候要打印个体名,有的时候要打印单位名,有的时候要时间。因为这个功能还在增加,所以王大叔想改进一下发票的打印程序,使...

  • 120
    10. abstract Factory 模式

    场景 王爷爷又接收到了新的需求,新的需求要求在选择系统配置的同时,还要选择IO配置,网络配置。 总结 定义:为了创建一组相关或者相互依赖的对象提供一个接口,而且无需指定它们的...

  • 120
    9. Factory 模式

    场景 一个机器有三种系统配置的类型,王大爷想设计一个计算机系统,用一个程序根据CPU和内存的情况来决定使用哪种系统配置。 总结 意图:定义一个创建对象的接口,让其子类自己决定...

  • 8.几个原则

    开闭原则 定义:模块,方法和类应该对扩展开放,对修改封闭。评价:开闭原则的本质上意味着将软件设计成为新功能能够作为单独的模块加入系统,这样就降低了集成的成本。完全遵守开闭原则...

  • 120
    7. Observer 模式

    场景 王大哥收到用户的需求,要做一套订阅系统,类似一个博主,多个粉丝那种。于是王大哥扣了扣脑袋,想到了三个方法: 方案一:粉丝不断的get博主的状态,从而得到其更新的内容。评...

  • 6. Singleton 模式

    场景 餐饮店的账单由多个部分组成,需要为每一桌客人计算账单总价。王叔叔要给这个店做一个结账系统,由于这很简单,于是他上来就设计一个类来计算总价,每计算一桌就新建一个对象。小王...

  • 5. Bridge模式

    场景 小王的team最近收到了一个新的需求,设计一个机器学习探测网络攻击的框架。机器学习包括随机森林,聚类,关联规则,SVM,线性回归;网络攻击包括XSS,SQL注入,撞库,...

  • 4. Strategy 模式

    场景 我们按照需求设计了一个国际电子商务的程序,其中有一个涉及到了计算税收。在我们设计完成后,又来了一个新的需求:因为这个系统要在加拿大用,所以我们要增加一个按照加拿大的税收...

  • 3. Adapter模式

    场景 我在写一个程序,要计算一个广场的面积。我突然想起了Jill,他做了一个形状类,里面有长方形和它的面积计算方法。为了减少重复代码和提高自己的工作效率,我准备直接调用它的长...

  • 2. Facade 模式

    场景 小王团队要使用一个系统的接口,但是这个系统的接口有很多,而且相关的接口说明都有五六百页。小王只需要其中一部分接口就行。 如果让每个人都去读这些文档,那么这个将耽误大家的...

  • 1. 面向对象泛型和设计模式

    面向对象泛型 为了应对需求的变化,我们多使用模块化来实现代。但是通常会有两个问题: 低内聚:例程中操作之间的联系紧密程度低 紧耦合:多个例程之间联系的紧密程度高 面向对象泛型...

个人介绍
喜欢足球和旅游的科班IT工程师