【php精品源码栏目提醒】:以下是网学会员为您推荐的php精品源码-程序员能力矩阵 - 其它资料,希望本篇文章对您学习有所帮助。
译文程序员能力矩阵 Programmer Competency Matrix注意:每个层次的知识都是渐增的,位于层次 n,也蕴涵了你需了解所有低于层次 n 的知识。
计算机科学 Computer Science 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments 能够解释和使 高等的数据结构的知识,数 了解基本数据结构时间和空间的折中, 不知道数组 用数组,链表, 比如 B-树、二项堆、斐波据 比如数组 vs 链表,能够解释如何实现 和链表的差 字典等,并且能 AVL 那契堆、 树、红黑树、结 哈希表和处理冲突,了解优先队列及其 异 够用于实际的 伸展树、跳跃表以及前缀构 实现。
编程任务。
树等。
Working with算 不能够找出 基本的排序,搜 树,图,简单的贪婪算法和分而治之算 能够辨识和编写动态规 someone who has a good topcoder法 一个数组各 索和数据的遍 法,能够适度了解矩阵该层的含义。
划方案,良好的图算法知 ranking would be an unbelievable 数的平均值 历和检索算法。
识,良好的数值估算的知 piece of luck 这令人难 能够辨别 NP 问题等。
识, 以置信,但 是我的确在 应聘者中遇 到过 对编译器、链接 了解整个程序堆栈、硬件编 不知道何为 器、解释器有基 了解内核模式 vs 用户模式多线程,同 CPU内存中断微码、程 编译器、链 本的了解。
知道 步原语以及它们如何实现,能够阅读汇 二进制代码、汇编、静态体 接器和解释 什么是汇编代 编代码。
了解网络如何工作,了解网络 和动态链接、编码、解释、系 器。
码以及在硬件 协议和 socket 级别编程。
JIT(just-in-time)编译、 层如何工作。
有 内存碎片回收、堆、栈、 一些虚拟内存 存储器编址… 和分页知识。
软件工程 Software Engineering 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments
源码 熟练地使用 CVS 和 SVN 特性。
知道如何 有分布式 VCS 系统的知版 通过日期备 VSS 和初级的 分支和归并,使用程序库补丁安装特性 识。
尝试过本 份文件夹 CVS/SVN 用户 等 Bzr/Mercurial/Darcs/Git控制自 只知道在 知道如何编译 能够安装一个脚本构建基本的系统 能够安装一个脚本来构动 IDE 下编译 在命令行下编 建系统并且归档,安装程化 译系统 序,生成发布记录和给源编 码控制中的代码分配标译 签。
能够编写自动自 认为所有的 化的单元测试,动 了解并且能够有效自动 测试都是测 能够为正在编 按照 TDD (Test Driven Development)化 化安装,载入/性能和 UI 试员的工 写的代码提出 方式编写代码。
测 测试 作。
良好的测试用试 例。
程序设计 Programming 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments问 只有直线式 使用适宜的数据结构和 能够把问题分题 的代码,通 能够想出可复用的函数/对象来解决大 算法,写出通用的/面向 散到多个函数分 过复制粘贴 题的问题 对象的代码来封装问题 中解 来复用 的易改变的层面。
如果不在同一 能够在多个产品线和与系 N 想不出比 平台或没采用 外部体系一体化中虚拟统 单一的文件 相同的技术,能 能够设计跨技术/平台的系统。
化和设计复制的系统。
同分 /类更好的 够把问题空间 时也能够设计支持系统解 层面 和设计方案分 监视、报告、故障恢复等。
解。
This is an often交 不能向同伴 同伴能了解你 能够和同伴进行高效的交流 能够使用清晰的方式了 under rated but very critical criteria流 表达想法/ 在说什么。
有良 解和交流想法/设计/主意 for judging a programmer. With 主意。
匮乏 好的拼写和语 /细则,能适应每种环境 the increase in outsourcing of 拼写和语法 法能力。
的交流 programming tasks to places 的能力。
where English is not the native tongue this issue has become more prominent. I know of several projects that failed because the programmers could not understand what the intent of the communication was.同 同一文件中 按照逻辑性或 代码分块和对于其他源文件来说是易 文档头部有许可声明,总一 组织没有依 者易接近的方 于是释引用其他源文件时有良好的注 结,良好的注释,一致的文 据 法 释 空格缩进。
文档外观美件 观。
中代码组织 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments跨 代码在物理层组织紧密, 没够想过给文 相关文件按文 每个物理文件都有独立的目的,比如一 在文件名上与设计和外 代码跨文件件 件夹分组 个类的定义,一个特性的实现等。
观相匹配,可以通过文件 组织代 分布方式洞察设计理念。
码组织 The difference源 between this and
源码树的物理布局与逻 the previous item码 一切都放在 初步地将代码 没有循环依赖,二进制文件,库,文档, is in the scale of 辑层次、组织方式相匹 organization树 一个文件夹 分散进对应逻 构建,第三方的代码都组织进合适的文 source tree 配。
可以通过目录名称和 organization组 内 辑的文件夹。
件夹内。
relates to the 组织方式洞察设计理念。
entire set of织 artifacts that define the system.代 单音节的名 对文件、变量、 代码假设验证使用断言,码 称(在国内 没有长函数、注释解释不常规的代码, 类、方法等,有 自然的代码流,没有深层可 应该是那些 bug 修复代码假设。
良好的命名。
嵌套的条件和方法读 类似用汉语性 拼音命名的 习惯)防 检查代码中所御 有自己的库来帮助防御 不知道这个 有的参数,对关 确保检查了返回值和使代码失败的异性 性编程、编写单元测试模 概念 键的假设进行 常。
编 拟故障 断言码 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments错 在编码之前察觉可能出 基本的代码错 确保错误/异常留在程序中有良好的状误 只给乐观的 现的异常,在代码的所有 误处理,抛出异 态,资源,连接,内存都有被合适的清处 情形编码 层次中维持一致性的异 常/生成错误 理。
理 常处理策略,提出整个系 统的错误处理准则。
了解其周围的 IDE 大部分 接口,能够高效IDE 用来进行文 了解最常操作的键盘快捷键 编写自定义宏 地通过菜单来 本编辑 使用 IDE 为了使实际任务中常用 把最频繁使用 E.g. of API can be 需要频繁地 API 使用更加便捷,编写 Java library .netAPI 的 API 记在脑子 广阔且深入的 API 知识。
framework or the 查阅文档 过 API 的上层库,填补 custom API for the 里 application API 之间的缺口。
没有使用过 听过但没用过框 在专业的职位中使用过一个以上的框 主平台外的 平台下流行的 某框架的作者架 架,通晓各框架的特色。
任何框架 可用框架 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments需 接受给定的 能够提出更好的可选方求 能对规格的遗 了解全面情况,提出需要被规格化的整 需求和代码 案,根据经验的浮现给出分 漏提出疑问 体范围。
规格 需求析脚 不具备脚本 批处理文件 写过并且发表过可重用 Perl/Python/Ruby/VBScript/Powershell本 工具的知识 /shell 脚本 的代码 知道基本的数 能够牢记在运行时必要查询中设计良 能做基本的数据库管理,数 据库概念,规范 好的规范化数据库模式,精通用户视 性能优化,索引优化,编 认为 Excel据 化、ACID(原子 图,存储过程,触发器和用户定义类型。
写高级的 select 查 , 询 能 就是数据库库 性 Atomicity、 知道聚集与非聚集索引之间的差异。
精 够使用相关 sql 来替换游 一致性 通使用 ORM(Object Relational 标,理解数据内部的存 Consistency、隔 Mapping 对象关系映射)工具 储,了解如何镜像、复制 离性 Isolation、 数据库。
知道两段数据提 持久性 交如何工作 Durability)、事 务化,能够写简 单的 select 语 句经验 Experience 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments专 命令式语言 命令式语言面 函数式语言如果了解延缓求值,局部套 并发语言Erlang Oz 逻业 和面向对象 向对象语言和 用函数,延续则有加分 辑语言Prolog语 语言 说明型语言言 SQL如果了解经 静态类型 vs 动验 态类型,弱类型 vs 强类型则有 加分专业平 1 2-3 4-5 6台经验专业经 1 2-5 6-9 10验年龄领 领域专家。
在该领域设计 在该领域中曾域 没有该领域 和实现数种产品/方案。
经至少为一个 在同一领域中为多个产品工作过知 的知识 精通该领域使用的标准 产品工作过识 条款和协议学识 Knowledge 2n Level 0 n2 Level 1 n Level 2 logn Level 3 Comments工 仅限于主要 对编辑器、调试器、IDE、开源的备选方 知道一些流行 实际地编写过工具和脚具 的 案有很好的了解。
比如某人了解大多数 和标准工具的 本,如果这些被发布则有知 IDEVS.Net Scott Hanselman 的威力工具列表中的 备选方案 加分识 Eclipse 等 .
上一篇:
【精品】第5章数组
下一篇:
高中地理研究性学习的教学策略研究