《编程匠艺》读书笔记之十四
- 面对同一件事情,不同的程序员会以不同的方式工作,他们会各有各的解决方法,总是会有“不止一种方法来做这件事情”的想法,不同程序员的态度也会导致他们作出截然不同的决策。
- 软件工厂中居住着许多奇怪的不能适应社会的人,我们把他们叫做代码猴子,任何重要软件系统都是由这些人来构建的,他们具有不同的技术水平和态度,并且都为同一个目标而努力。
- 我们在一起工作的方式以及我们所编写的代码的类型,将不可避免的受到我们工作态度的影响,就像收我们的技术能力影响一样。
我们可以将程序员分为以下种类:
- 卖力工作的程序员。他会一边编码一边思考,常常会因为时髦而试着使用新的功能或语言习惯,这种尝试新技术的渴望,意味着他甚至在不恰当的情况下使用技术。这类程序员非常多产,喜欢学习新东西,而且对编程抱有特别的热情。这类程序员的缺点是比较急躁,在进行仔细思考之前就开始编码。
- 代码猴子。编写的代码很可靠,但是没有创意。这类程序员性格恬静,他们把自己定位为维护程序员,在具有开拓精神的人去开发替代产品的时候,他们却在维护这旧代码库的运行。教代码猴子学习新东西是件很困难的事。
- 权威。通常很安静和谦虚,他编写的代码很出色,但是却无法与凡人很好的沟通。他一般会独自做最基础的工作:框架、体系结构和内核等,他是万能的,无所不知无所不晓。但是能够良好的沟通的权威是很少的,某个权威的沟通能力越差,他就越有可能是个糟糕的导师,权威很难理解为什么其他人懂得不如他多,或者思考问题没有他们快。
- 半权威。这类人可能是代码猴子中最危险的一种,他们自认为是天才,但是不是。他们通常比真正的权威更加张扬,并且非常自以为是,他委任自己做权威人士。
- 傲慢的天才。这是各种权威中数量很少但是非常重要的一支,他们速度快,效率高,并且编写高质量的代码,虽然不完全算是权威,但是很受关注。他们非常爱与人争辩,因为他们通常是正确的,并且总是需要让自己正确的观点压倒其他人错误的意见。
- 牛仔。这是一类糟糕的程序员,他们故意逃避艰苦的工作,一头扎到代码中,做最小量的工作来解决直接的问题,到处寻找捷径。他们急于完成每个任务,并转到下一个,如果他多少对过程有些了解,他就会把这叫做敏捷开发。
- 规划者。他们会对要做的事情做太多的思考,以至于在他开始编写任何代码之前,项目早就过期了。这主要是“过度设计”的原因,他们的开发更集中于方法和建模,而不是原型设计和解决方案的创建。
- 老前辈。这是老派的资深程序员,他们要么对从事最喜爱的工作而感到非常幸福,要么对错过了无数次升职机会而十分痛苦。他们一般不会乐于遭受愚弄。
- 狂热者。他们盲目的认为所有大公司制作的东西都是最优秀的,他们追随大公司的产品,排斥任何其他的方法,并且很少知道其他的可选产品。他们既不实际,也不客观,这样会错过很多更好的非大公司的设计。
- 单线条程序员。这类人以技术为生,呼吸的都是技术,这就是他的全部生命。他们具有明显的单向思维,专心致志,他将确保项目能够正常运行,否则他会拼命的努力。他的最大问题是会忽略一些事情,因为他总是和问题距离太近了。
- 拖沓者。这是一种不愿意工作的懒散的人,这种人很难发现,因为他已经学会如何让自己看起来很忙碌。还有一种情况,他只会做自己想做的事,或者做一点他认为应该做的事,而不是他必须做的事情,所以虽然他总是在不停的工作,但是他从来也做不完。
- 勉强的团队领导。这是很典型的情况:一位开发人员被提拔为团队领导,原因只是对他而言在技术上已经没有再升职的余地。这类人是程序员,他们愿意编程,不是团队的组织者和管理者,并且沟通能力很差。如果团队领导试图编写代码,事情就会变得很糟糕。我们要有同情心,尽一切可能去帮助团队领导。
传说中理想的程序员应该具有以下品质:
- 政治家。必须很老练,去应付那些怪异代码猴子的小过失,能够协调人员。
- 亲切。可以愉快的和别人合作。
- 艺术感。可以设计出优雅的解决方案。
- 技术天才。编写的代码可靠耐用。
- 我们要了解自己是哪种类型的程序员,确定如何利用你的有点,如何弥补你的缺点。
作为一名优秀的程序员,你必须学会:
- 团队精神。
- 诚实和谦虚。
- 不断的提高。
- 体贴。
- 热情。
- 优秀的程序员:具备了优秀程序员的所有气质。
- 糟糕的程序员:1. 对于编写优秀的代码不感兴趣;2. 在团队中与别人无法很好的合作;3. 总想让自己看起来比实际情况要好;4. 停滞不前——他们不努力提高自己。
《编程匠艺》读书笔记之十四相关推荐
- 《深入浅出DPDK》读书笔记(十四):DPDK应用篇(DPDK与网络功能虚拟化:NFV、VNF、IVSHMEM、Virtual BRAS“商业案例”)
Table of Contents DPDK应用篇 DPDK与网络功能虚拟化 157.网络功能虚拟化 13.1.1起源 158.发展 159.OPNFV与DPDK NFV的部署 160.NFV的部署 ...
- 读书笔记(十四)-- 管理十诫
读书笔记--第14篇--<管理十诫> 1. 对我而言,尽管一辈子都在商海沉浮,我还是没办法把成功的真谛用条条框框的几句话来说清楚,更何况我们所讨论的话题还是瞬息万变的商场.我所能做的, ...
- 《百面机器学习》读书笔记(十四)-人工智能的热门应用
全部笔记的汇总贴:<百面机器学习>-读书笔记汇总 这一章较之前的十三章略微有些区别,这一章直接将知识点进行罗列出来,而不再是以问题的方式来导出,可能也是应为这一章的内容比较浅显易懂吧. 一 ...
- 《Linux内核设计与实现》读书笔记(十四)- 块I/O层
最近太忙,居然过了2个月才更新第十四章.... 主要内容: 块设备简介 内核访问块设备的方法 内核I/O调度程序 1. 块设备简介 I/O设备主要有2类: 字符设备:只能顺序读写设备中的内容,比如 串 ...
- 《Android源码设计模式解析与实战》读书笔记(十四)
第十四章.迭代器模式 迭代器模式,又叫做游标模式,是行为型设计模式之一.我们知道对容器对象的访问必然会涉及遍历算法,我们可以将遍历的方法封装在容器中,或者不提供遍历方法,让使用容器的人自己去实现去吧. ...
- 《Android源代码设计模式解析与实战》读书笔记(十四)
第十四章.迭代器模式 迭代器模式,又叫做游标模式.是行为型设计模式之中的一个.我们知道对容器对象的訪问必定会涉及遍历算法.我们能够将遍历的方法封装在容器中,或者不提供遍历方法,让使用容器的人自己去实现 ...
- 《C#高级编程》读书笔记(十四):代码协定
一,代码协定 代码协定通常称作契约式编程,包括如下三个部分: 前置条件(precondiction):为了调用函数,必须为真的条件,在其违反时,函数决不调用,传递好数据是调用者的责任. 后置条件(po ...
- 《Java编程思想》第四版读书笔记 第十四章 类型信息
2019独角兽企业重金招聘Python工程师标准>>> 14.2 RTTI运行时类型识别. Class对象包含了与类有关的信息,Java使用Class对象来执行其RTTI.每个类都有 ...
- 《linux程序设计》--读书笔记--第十四章信号量、共享内存和消息队列
信号量:用于管理对资源的访问: 共享内存:用于在程序之间高效的共享数据: 消息队列:在程序之间传递数据的一种简单方法: 一.信号量 临界代码:需要确保只有一个进程或者一个执行线程可以进入这个临界代码并 ...
最新文章
- 修改类的命名空间引发的发布问题
- 扩展SpringMVC WebMvcConfigurerAdapter ||全面接管SpringMVC @EnableWebMvc
- 春节档社交与音视频大战背后,底层技术近况如何?
- leetcode 141. 环形链表(快慢指针解法)
- sublime快捷操作emmet语法
- 百度贴吧10亿量级LAMP架构分享
- Html前端基础(select下拉选标签、table表格标签)
- 官宣!阿里进军 5G,成立 XG 实验室发力新基建
- 三分钟带你看懂prototype原型——ES6进阶
- 手机通达信正在连接服务器,通达信服务器全部连接超时
- 【apiPost】-工具
- win10edge启用html5,edge浏览器如何启用flash?win10 Edge浏览器禁用flash方法
- aload、aload_1、iload都是什么意思
- Hive面试题系列-连续登录问题1
- 前端监控:回放录制库 rrweb
- 撸完这篇线程池,我快咳血了!
- AWS免费账号取消步骤
- 蒙特卡罗树搜索法c语言,蒙特卡罗方法的计算方法
- Arduino+sim900发送短信例程代码
- 创业起步的十大准备步骤