开发人员能力矩阵
概述
本文档主要描述开发人员对不同技术领域掌握的深度。 本文档主要描述开发人员对不同技术领域掌握的深度。 个层次,层次之间是递进关系。 每一个技术领域包含 4 个层次,层次之间是递进关系。 能力矩阵用于综合评估开发人员的技能分布。 能力矩阵用于综合评估开发人员的技能分布。
基本的代码编写
考察 点 交流 与沟 通 Level 0 Level 1 Level 2 Level 3
不能向同伴表达 同伴能了解你在 想法/主意。匮乏 说什么。有良好 拼写和语法的能 的拼写和语法能 力。 力。 了解其周围的接 IDE 大部分用来 口,能够高效地 了解最常操作的键盘快捷 进行文本编辑。 通过菜单来使用 键。 IDE。 需要频繁地查阅 把最频繁使用的
文档。 API 记在脑子里。
能够使用清晰的方式了解和交 能够和同伴进行高效的交流 流想法/设计/主意/细则,能适 应每种环境的交流。
IDE 的使 用 API 的使 用 代码 可读 性 文件 内的 代码 组织 跨文 件的 代码 组织 源码 树组 织 防御 性编 码
编写自定义宏。
为了使实际任务中
常用 API 使 广阔且深入的 API 知识。 用更加便捷,编写过 API 的上 层库,填补 API 之间的缺口。 代码依赖性假设使用断言验 证;自然的代码流;没有深层 嵌套的条件和方法。
文档头部有许可声明、总结。 通过一致的空格缩进,使文档 外观美观。 代码在物理层组织紧密,在文 件名上与设计和外观相匹配。 可以通过文件分布方式洞察设 计理念。
单字母的名称, 对文件、变量、 没有长函数。注释会说明 汉语拼音的名 称。 类、方法等,有 bug 修复和代码依赖性假 良好的命名。 设。
同一文件中组织 按照逻辑性或可 代码分块,引用其他源文件 没有依据。 访问性组织。 时有良好的注释。
没想过给代码跨 相关文件按文件 文件组织。 夹分组。
每个物理文件都有独立的目 的,比如一个类的定义,一 个特性的实现等。
一切都放在一个 文件夹内。
初步地将代码分 散进对应逻辑的 文件夹。 检查代码中所有 的参数,对关键 的假设进行断
没有循环依赖, 二进制文件, 源码树的物理布局与逻辑层 库,文档,构建,第三方的 次、组织方式相匹配。可以通 代码都组织进合适的文件夹 过目录名称和组织方式洞察设 内。 计理念。
不知道这个概 念。
确保检查了返回值和使代码 有自己的库来帮助防御性编 失败的异常。 程、编写单元测试模拟故障。
言。 基本的代码错误 确保错误/异常留在程序中 处理,抛出异常/ 有良好的状态,资源,连接, 生成错误。 内存都有被合适的清理。 在编码之前察觉可能出现的异 常,在代码的所有层次
中维持 一致性的异常处理策略,提出 整个系统的错误处理准则。
错误 处理
只给乐观的情形 编码。
程序设计
考 察 点 问 题 分 解 系 统 分 解 框 架 的 使 用 开 发 平 台 对平台内部毫 有平台基本的内部工作 无所知。 的知识。 深度的平台内部知识, 编写过增强平台或者为其平台 能够设想平台如何将 程序转换成可执行代 码。 内部提供信息的工具。比如,反 汇编工具,反编译工具,调试工 具等。 没有使用过主 平台外的任何 框架。 听过但没用过平台下流 行的可用框架。 在专业的职位中使用 过一个以上的框架,通 某框架的作者。 晓各框架的特色。 只有直线式的 代码,通过复 能够把问题分散到多个 制粘贴来复 用。 想不出比单一 的文件/类更 好的层面。 如果不在同一平台或没 采用相同的技术,能够把 能够设计跨技术/平台 问题空间和设计方案分 解。 的系统。 函数中。 能够想出可复用的函 数/对象来解决大的问 题。 使用适宜的数据结构和算法,写 出通用的/面向对象的代码来封 装
问题的易改变的层面。 能够在多个产品线和与外部体 系一体化中虚拟化和设计复制 的系统。同时也能够
设计支持系 统监视、
报告、故障恢复等。 Level 0 Level 1 Level 2 Level 3
具体的领域知识
考 察 点 脚 本 的 使 用 界 面 开 发 Level Level 1 0 Level 2 Level 3
不具备 脚本工 具的