天天看点

【读书笔记】软件随想录第一部分 人员管理第二部分 写给未来程序员的建议第三部分 设计的作用第四部分 管理大型项目第五部分 编程建议

第一部分 人员管理

那些优秀的程序员,一般是不会出现在招聘市场上的,他们一生可能只有4次求职

聪明的程序员一定认识其他聪明的程序员

程序员的要求:聪明,而且能够完成工作

三种管理方法

l  军事化管理法

亲密不会让普通士兵上战场,只有恐惧才可以。

l  经济利益驱动法

n  内心激励 – 内心想将事情做好

n  外部激励  - 物质

程序员会因此寻求利益最大化,展开了和制度的博弈

l  认同法

n  设法创造内部激励,对公司有认同感

第二部分 写给未来程序员的建议

java语言忽视了最重要的两个特性:指针和递归

计算机科学是由证明(递归)、算法(递归)、语言(演算)、操作系统(指针)、编译器(演算)组成的

给计算机学生的建议

l  毕业前练好写作

l  毕业前学好C语言

l  毕业前学号微观经济学

l  不要因为枯燥就不选修非计算机专业的课程

l  选修有大量编程实践的课程

l  别担心所有工作都被印度人抢走

l  找一份好的暑期实习

l  寻求专业人士的帮助,培养你的信心

第三部分 设计的作用

一个团队来设计一个软件,风险很大!

大构想,一般都是大陷阱

别给用户太多的选择,记得Qingsong关于Cluster配置的方案

设计社会化软件,易用性要考虑文化人类学

第四部分 管理大型项目

第五部分 编程建议

循证式日程规划

l  分解时间

l  追踪时间的用途

l  对未来情况进行模拟 – 蒙特卡洛

l  不要有强迫症 – 按照自己的安排去做就行了

l  积极管理你的项目

l  范围渐变 – 为特殊情况留出缓冲

值得注意的问题

l  低速CPU和小容量内存的环境

l  跨平台的编程语言

l  完善的互动性和用于界面标准

要学函数式编程语言

寻找一种代码的书写规范,让错误的代码显而易见,让代码的相关信息在显示屏集中在一起,使你能够当场发现和改正错误

l  尽量将函数名写短

l  变量声明的位置离使用的位置越近越好

l  不要使用宏

l  不要使用goto

l  不要让右括号与对象的左括号之间的距离超过一个显示屏

继续阅读