程序员能力矩阵
来源:互联网 发布:mba智库百科知乎 编辑:程序博客网 时间:2024/06/06 08:57
参考的网上的(放这只是对自己的实时总结最好一个月总结一次)
2014.7.28 no.1
Working with someone who has a good topcoder ranking would be an unbelievable piece of luck!编程体系不知道何为编译器、链接器和解释器。对编译器、链接器、解释器有基本的了解。知道什么是汇编代码以及在硬件层如何工作。有一些虚拟内存和分页知识。了解内核模式vs用户模式,多线程,同步原语以及它们如何实现,能够阅读汇编代码。了解网络如何工作,了解网络协议和socket级别编程。了解整个程序堆栈、硬件(CPU+内存+中断+微码)、二进制代码、汇编、静态和动态链接、编码、解释、JIT(just-in-time)编译、内存碎片回收、堆、栈、存储器编址…level 0 2014.7.28
level 2 2014.7.28
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.同一文件中代码组织同一文件中组织没有依据按照逻辑性或者易接近的方法代码分块和对于其他源文件来说是易于是释,引用其他源文件时有良好的注释文档头部有许可声明,总结,良好的注释,一致的空格缩进。文档外观美观。level 2 2014.7.28 2n (Level 0)n2 (Level 1)n (Level 2)log(n) (Level 3)Comments跨文件代码组织没够想过给代码跨文件组织相关文件按文件夹分组每个物理文件都有独立的目的,比如一个类的定义,一个特性的实现等。代码在物理层组织紧密,在文件名上与设计和外观相匹配,可以通过文件分布方式洞察设计理念。level 1 2014.7.28源码树组织一切都放在一个文件夹内初步地将代码分散进对应逻辑的文件夹。没有循环依赖,二进制文件,库,文档,构建,第三方的代码都组织进合适的文件夹内。源码树的物理布局与逻辑层次、组织方式相匹配。可以通过目录名称和组织方式洞察设计理念。
level 1 2014.7.28
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修复,代码假设。代码假设验证使用断言,自然的代码流,没有深层嵌套的条件和方法level 2 2014.7.28防御性编码不知道这个概念检查代码中所有的参数,对关键的假设进行断言确保检查了返回值和使代码失败的异常。有自己的库来帮助防御性编程、编写单元测试模拟故障level 0 2014.7.28 2n (Level 0)n2 (Level 1)n (Level 2)log(n) (Level 3)Comments错误处理只给乐观的情形编码基本的代码错误处理,抛出异常/生成错误确保错误/异常留在程序中有良好的状态,资源,连接,内存都有被合适的清理。在编码之前察觉可能出现的异常,在代码的所有层次中维持一致性的异常处理策略,提出整个系统的错误处理准则。level 1 2014.7.28IDEIDE大部分用来进行文本编辑了解其周围的接口,能够高效地通过菜单来使用IDE了解最常操作的键盘快捷键编写自定义宏level 1+ level 2- 2014.7.28API需要频繁地查阅文档把最频繁使用的API记在脑子里广阔且深入的API知识。为了使实际任务中常用API使用更加便捷,编写过API的上层库,填补API之间的缺口。
level 0+ level 1- 2014.7.28
E.g. of API can be Java library, .net framework or the custom API for the application框架没有使用过主平台外的任何框架听过但没用过平台下流行的可用框架在专业的职位中使用过一个以上的框架,通晓各框架的特色。某框架的作者level 1 2014.7.28 2n (Level 0)n2 (Level 1)n (Level 2)log(n) (Level 3)Comments需求分析接受给定的需求和代码规格能对规格的遗漏提出疑问了解全面情况,提出需要被规格化的整体范围。能够提出更好的可选方案,根据经验的浮现给出需求level 0+ 2014.7.28脚本不具备脚本工具的知识批处理文件/shell脚本Perl/Python/Ruby/VBScript/Powershell写过并且发表过可重用的代码level 0 2014.7.28数据库认为Excel就是数据库知道基本的数据库概念,规范化、ACID(原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)、事务化,能够写简单的select语句能够牢记在运行时必要查询中设计良好的规范化数据库模式, 精通用户视图,存储过程,触发器和用户定义类型。知道聚集与非聚集索引之间的差异。精通使用ORM(Object Relational Mapping对象关系映射)工具能做基本的数据库管理,性能优化,索引优化,编写高级的select查询,能够使用相关sql来替换游标,理解数据内部的存储,了解如何镜像、复制数据库。知道两段数据提交如何工作level 1 2014.7.28
level 2+ 3- 2014.7.28
0 0
- {译}程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- [译文] 程序员能力矩阵
- 程序员能力矩阵
- 程序员的能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 转:程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- 程序员能力矩阵
- C++ 关键字 - friend友元
- Tomcat集群原理
- IO流(Properties练习)
- SRM628题解 (T3除外)
- AJAX基础学习3之JSON
- 程序员能力矩阵
- IO流(PrintWriter)
- OCP 1Z0 053 229
- IO流(合并流)
- IO流(切割文件)
- Tomcat Server.xml 详细说明
- POJ 2761 Feed the dogs
- IO流(对象的序列化)
- 前端技术入门