在软件开发中,性格可以决定一个人的能力。虽然我们不能提升自己的智商,但是性格方面我们是可以作出一些改变的。从某种程度上说,一个人的性格决定了他能不能成为软件方面的专家。所以我们应该对自己负责,让自己变得更好。
- 聪明、谦虚
- 我们不需要非常聪明,但是只要按照一定的原则,降低程序的复杂度,减少大脑的负荷,就能够在软件开发方面有深刻的造诣。
- 越谦虚,进步越快
- 软件工程很多工作都是在减少程序的复杂性
- 将系统进行模块化分解
- 举行代码审查大会、软件质量测试。将负荷分摊到多个人身上,从而减少单个人的大脑负荷
- 减少函数的长度,从而减少大脑的负荷
- 写代码的时候关注问题本身,而不是底层细节
- 写代码的时候遵守规则,这样可以减少大脑的负荷
- 好奇
- 多去了解软件开发过程
- 如果你不学习,你就会成为“恐龙”
- 实验是一个很好的学习方法
- 多读一些关于解决问题的书。即使叫你重新去发明轮子,你也有可能把轮子做成方的
- 动手之前先分析问题,并做好计划,再开始动手
- 从成功的项目中学习经验
- 阅读文档
- 经常阅读书籍。如果一直阅读相同方面的书籍,一周读35页书,时间久了你就是这方面的专家
- 多认识这方面的专家
- 在开源项目中提交自己的代码
- 专家等级
- 一级 新手:熟悉某一种语言
- 二级 入门:熟悉多种语言
- 三级 高手:可能精通J2EE或精通Annotated C++ Reference Manual
- 四级 领导:大部分的时间在和人交流
- 不想成为四级专业也没关系,但是如果长时间在一级二级,那就有问题了
- 技术方面忠诚
- 当你某方面不是专家的时候,不会假装称自己是专家
- 乐意承认自己的错误
- 如果你犯了错误,尽快承认,并且明确强调
- 清楚地知道自己的程序是如何运行的——而不是试着改一个地方编译一下看看能不能用
- 写状态报告的时候非常真实
- 写进度报告的时候非常真实
- 项目的工期是不可以和老板协商的,项目价值和项目成本是两个不同的概念,不能因为项目价值比成本低就尽量压低项目成本。如果项目价值比成本低,最好的做法就是不要开发这个软件
- 沟通、合作
- 写可读性高的代码
- 写代码的目的是为了给人看,顺便给计算机运行
- 创新、原则
- 创新并不是说没有原则,如果一个页面上文字是五颜六色的,并不能说明他具有创新能力,而是他没有原则
- 懒惰
- 懒惰可以减少项目的成本
- 懒惰的分类
- 真的懒惰:手动解决一些无聊重复的事情
- 有进步的懒惰:尽量在无聊的事情上少花时间。这种懒惰是最推荐的
- 长期懒惰:编写工具,让计算机解决这些无聊的事情
- 无关紧要的个性
- 这些个性对开发能力的影响不大
- 坚持
- 为了一个问题坚持好几个小时是没有用的
- 一个问题最多思考15分钟,不行的话休息一段时间再看
- 经验丰富
- 软件开发领域,知识变更是很快的,以前的经验在现在看来可能一点用都没有
- 人们往往都会根据经验作出错误的判断
- 在单个领域,经验丰富是有点用处的
- 编程狂
- 编程有激情是好的,但是能力更加重要
- 习惯
- 代码性能、可读性的偏好
- 如果要放弃一个习惯,最好的方法是养成一个新的习惯