写程序都快10年了,我怎么就没有看这本书呢?现在回想一下自己过去的10年真是快,自己也没有写出太NB的代码,就是完成功能就行了,别的真没有想过,平时也就看看技术相关的新闻、书籍,完全一个“码农”。
虽然这本时隔25年才有机会读到,读时候有着共鸣的地方,比如项目延期、代码修改等,当然还有换工作时面试官的问题,其实本书中都已经提到。工作如果处理上下级关系如何沟通交流,书中也有提到,想想看也许我的上级已经读过此书,正用书中的方法+自己理解来管理团队。
写了这么久的程序达到“优秀程序员”的标准了吗?
1.技术规范
04年毕业实习的时候作设计,后来写点asp,再后来空的时候接点私活,再后来.net,再后来,java,再后来......,最后自己在前端干了5年,说到规范,打心底说还没有一个完全的体系。也就最近两年慢慢规范js命名,css命名,并且文档化管理。之前完全是按个人爱好,想怎么写就怎么写,最多加行注释。也许是js的流行,前端的mvc框架出现,前端的工作量越来越大,如果没有规范大家就没有办法协作,代码不好维护。记得写了一个勤务打卡的功能,需要输入提示插件、自动生成时间线、时间线可控制等功能,当时赶进度,没有使用结构分层的方式写代码,后来追加功能时发现我的天,这是自己写的代码吗?完全看不懂了,二次开发这也太难了吧,为什么当时会这样写呢?瞬间明白文档的重要性,规范的重要性,后来公司要求我们整理自己的开发文档。
2.日程计划
计划不如变化快,这也许是开发的通病,特别是小项目,功能快要写完了,结果老板的想法又变了,又要重新来过,写完后交给老板看,老板说这不要他想要的,这种情况常常发生在不了解需要的情况下盲目动工,计划1个月完成,结果发现难度太大、老板需要不确定、客户需要不确定等,4个月过去了项目还没有完成,计划1个月的东西,4个月还没有完成,这肯定是有问题的。最终这由谁来负责呢?也许比较好的方式是先沟通,确定原型、再次和客户沟通确认功能、根据确认后的功能估计一个比较合理的开发周期这样比较妥当。
3.适应性
不只是客户的思维跳跃的,作为程序员思维肯定也是跳跃的,一般情况下,在不同的时间段里,解决同一个问题写出来的代码不可能完全一样。公司中也有对代码有所要求,但不会太过于限制,也只是对命名规范、代码书写规范作限制,不会说要求用什么样的算法去实现。算法的优化可能是在技术讨论会这样的场景中发生。当然对于一些新手会给于一些算法上的指导。
4.效率
效率这词有多方面的含义,代码执行效率、开发效率等,所以很多时候就单从项目角度看客户更看中效率,觉得快,好用这才是好软件,效率快也是需要代价的,从低层开始重构等。
上面讨论的都是个相关的,程序开发一般情况不会是一个人全部搞定,工作中讲究的是团队合作。曾经我问一个朋友你们现在项目怎么样了?“组建一个团队从0开始相当不容易的......”。我能听出这团队从0到有这过程的艰辛。
如何带领团队,管理本来就是一门艺术,不同的人结果是不一样的,但不能违背做人,做事的原则这是关键。本来项目开发中与团队成员之间就有可能发生争执,如果在处理其它细节上出现高高在上等这样的情况,团队成员肯定有意见的。
本书的内容有太多东西需要我去学习,去领会。
学无止境!加油
相关推荐
《Java语言程序设计(基础篇)(英文版·第10版)》是学习Java编程的经典教材,适合初学者入门。本试读版包含了部分内容,旨在帮助读者了解书中的教学方式和知识体系。以下是根据提供的文件名,结合Java语言基础知识...
### 手机游戏开发全书试读版知识点概览 #### 一、手机游戏行业发展背景与趋势 - **行业背景**:中国手机游戏产业虽然起步较晚,但在短时间内经历了快速发展阶段,包括爆发式增长、行业整合等多个阶段。据加特纳...
Kotlin程序开发入门精要-试读样章,Kotlin程序开发入门精要-试读样章Kotlin程序开发入门精要-试读样章Kotlin程序开发入门精要-试读样章Kotlin程序开发入门精要-试读样章Kotlin程序开发入门精要-试读样章Kotlin程序...
以上只是《Java程序设计大学教程》试读版中的部分关键知识点,完整的学习过程中还将涉及更深入的主题,如网络编程、数据库连接、反射、泛型、枚举、注解、Lambda表达式以及Java 8及更高版本的新特性。通过这个试读版...
而"Java程序设计大学教程试读+课件"则可能是该教程的部分章节预览或配套的教学课件,如PPT、PDF文档等,旨在帮助学生理解和实践所学知识。 首先,Java程序设计的核心知识点包括: 1. **Java语言基础**:了解Java的...
本书通过实例讲解了J2ME环境下手机游戏的程序开发核心技术,采用“程序构架”+“通用模块”+“具体代码”的方式,帮助读者快速掌握游戏开发的关键技能,提高工作效率,并加速开发团队的整体实力和经验积累。...
《实战Java高并发程序设计》是一本专注于Java并发编程实践的书籍,试读版提供了前两章的内容,为读者提供了一个初步了解并发编程基础的窗口。在Java领域,并发编程是构建高性能、高效率系统的关键技术,对于软件开发...
WatchKit框架使得开发者能够创建专门针对Apple Watch的应用程序,或为现有的iPhone应用程序开发配套的Watch版本。本教程提供了全面的WatchKit学习资料,旨在帮助读者快速掌握Apple Watch的应用开发。 开发Apple ...
大规模C++程序设计 中文 试读版 PDF 非扫描版 Large Scale C++ Software Design John Lakos
以Java语言为载体,通过讨论Java程序设计的一般过程和方法,重点讲述程序设计基础、面向对象程序设计、算法与数据结构、GUI程序设计和Web程序设计的知识,并涉及计算机科学基础、数据和控制、程序设计理论、软件工程...
《Gkwp开发手册(试读版)1》是一份针对Gkwp——首个WordPress中文主题开发框架的详细指南。Gkwp由“三吉工社”开发,旨在简化和加速WordPress主题的创建过程。在着手开发前,推荐观看配套的视频介绍以更好地理解其...
本书以Delphi语言为载体,通过讨论程序设计的一般过程和方法,重点讲述程序设计基础、算法与结构化程序设计、面向对象程序设计、Windows程序设计和数据库程序设计的知识,并涉及计算机科学基础、数据和控制、程序...
本书讲述了Linux系统及其他UNIX风格的操作系统上的程序开发,主要内容包括标准Linux C语言函数库和由不同的Linux或UNIX标准指定的各种工具的使用方法,大多数标准Linux开发工具的使用方法,通过DBM和MySQL数据库...
《Java程序设计大学教程》试读版.pdf提供了一个初步的课程概览,它可能涵盖了以下关键知识点: 1. **Java简介**:介绍Java的历史、应用领域以及其与其他编程语言的区别,解释为什么Java成为学习编程的理想选择。 2....
TMS320F28335DSP原理及开发编程试读,初学者值得一看
- 保证书中通常包含两个关键指标:试读期满后的不及格课程学分数累计上限(如30学分或40学分),以及试读学年补考后不及格课程占总学分数的比例(如低于50%)。 4. **试读期间的监管**: - 学校可能要求试读学生...