zoukankan      html  css  js  c++  java
  • 3. 技术专题

    • 程序员的工作就是把人类语言的需求转化成计算机语言,就要按照计算机的思维来做。因此程序员要思路清晰,有扎实的编程基础,有优秀的抽象能力,这样才能写出优秀的代码。
    • 局部性原理
      • 时间局部性
      • 空间局部性
      • 缓存
    • 抽象
      • CPU与指令集
      • 磁盘与文件
      • 数据共享与数据库
      • 应用层的MVC
      • 日志工具的Logger、Formatter、Appender
    • 分层
      • 计算机网络七层协议
      • Web三层结构
    • 分而治之
    • 异步调用及回调
      • AJAX
      • Node.js与Nginx
    • 事件/消息/通知/订阅
      • 用于解耦,避免多模块之间产生复杂的调用关系,也就同时帮助让代码更清晰,避免陷入调用链。
        • 这方面有点类似message queue的作用,各个模块只订阅自己关心的消息,让代码和逻辑更加直白,免得一个消息传来传去,还可能需要通过人进行间接通知,逻辑过于复杂。这样就相当于把一个调用链的每一步都拆成了多个单独的事件,可以用不同的事件定义和命名,更清晰,更职责分离。
      • 不管WPF桌面程序还是Angular前端程序,都经常用到。
      • 有的是模块间直接的消息传递(如Angular中父组件通过事件绑定通知子组件,子组件通过Subject属性通知父组件),有的是通过一个公共服务来管理(如Angular中在一个公共service中管理EventEmitter,然后需要知道该事件的所有模块都去订阅它)。
    • 链式调用
      • 封装的类的方法的返回值类型都是本类,那么就可以按顺序一直调用类中定义的各个函数了
    • Web自动化测试
      • 页面类
        • 把各个页面抽象成类,类中包含一些各个页面特有的操作(如等待某个元素多久,点击某个按钮)
        • 也可以继承自一个基类,包含一些基本/通用的方法/逻辑实现(如查找元素的方法,执行脚本,滚动页面,等待loading结束等)。
        • 这部分可以放在逻辑代码中,可以不属于测试代码(比如spring,可以放在main下面,而不是test下面)。
      • 测试类
        • 可以调用前面抽象出的页面类。
        • 测试类肯定就要放在测试代码目录下面了(比如Spring中的test目录)
        • 使用一些断言
  • 相关阅读:
    swing加载图片
    能有效解决问题的提问方法
    资源在线汇总
    如何赢得别人的尊重
    算法总结
    软件工程概述
    java语言基础汇总
    DEBUG技巧汇总
    web技术发展历程
    java中BufferedImage类的用法
  • 原文地址:https://www.cnblogs.com/wyp1988/p/11889903.html
Copyright © 2011-2022 走看看