作为软件工程师,你希望从工作中获得的是:稳定的薪水、参与好项目的机会、好工作的跳板或只是和其他程序员成为好基友。
有人说,一入编程深似海。后面有无数的跟句:从此妹子是路人,从此节操是代码......我想很多写代码的同志都应该有很深的感触,好像每天都有写不完的代码,每天也有改不完的Bug。可是在你抱怨的同时,有没有想过自己现在的代码真的写好了吗?Bug多吗?安全漏洞多吗?注释够多吗?项目中的其他成员能看懂你的代码吗?维护方便吗?
理解以下关于开发者的时间管理秘诀。
1、你不需要学习所有的新东西
将你的学习专注于这3个方面,由重到轻:
1)基础
如果你有坚实的基础,学习新东西很容易。
比如,如果你深刻地理解 JavaScript,那么任何 JavaScript 框架都很容易。如果你深刻地理解面向对象,任何面向对象语言都很容易。深刻地理解基础知识会让你的学习效率十倍于常人。提高基础永远最重要。
2)你最常使用的技术流的最新版本
你大概会有一个每天都使用的技术流。这些是为你和你家庭把食物放到桌上的工具。当新版本发布时,值得花时间去学习。
3)由市场领导者罩着的技术
如果像 Google、Facebook、Microsoft 这样的公司发明了什么新技术并取得了一些成绩,值得看一看。这里有上百种 JavaScript 框架,然后 Angular 和 React 出现了,席卷了市场。我不是说不会有黑马冲出来。但是,通常不会有。
2、写好代码比写烂代码更省时间(但通常感觉不到)
你大概觉得,如果一个功能做好了,就结束了。但是这才是开始。在一个功能上花费的时间包括调试、重构、改需求的各种时间。如果你在实现这个功能的时候做出了糟糕的决定,那么就呵呵了。然后你就会开始明白,从长线来看,更好的设计是值得的。
这里有两件你可以减少代码错误和提高设计的事。
1)测试导向的开发
先写测试,再写满足测试的代码。这不仅仅带来更少的漏洞,也带来更好的设计,因为你必须将代码组织成可以测试的方式。结果你有了更简洁的函数和更少的依赖。
2)迭代地开发
在把代码弄得可以运行之前,不要花时间把代码弄得完美。你永远不可能在脑中做对所有的。你必须有可以运行并满足预期的代码。问题在于,开发者通常都犯了一个错误:想太多,做太少。或者没有花足够时间完善第一次的解决方案。铭记这话:“做出,做对,做快” — 并以这个顺序开发。
3、不是所有优化代码的时间都有回报
花时间是一项投资。就像所有投资一样,很合理地要去期待一个投资回报。你应该至少得到你投入的一样多,或者更多。
我们讲到“做出,做对,做快”。但是,对不代表完美,快不代表最快。
4、清理代码
保持你的房子/公寓/房间整洁的最好办法就是每天花一点时间清理它,或至少每周清理一次吧。如果等到住所乱到一定程度才打扫,那么这麻烦就非常大了。除非你雇个清洁工。
假设你没办法奢侈到雇一个人每天帮你清理代码的程度,那么你就应该定时地检查你的代码、清理累积的死代码、淘汰过时的注释和错误的名称,否则你必定会得到一份不敢拿出来见人的代码。如果你不觉得丢不起人,好吧,你行。
5、思维模式
开发人员,一定要养成业务思维的模式,所谓的业务思维,就是在做任何一个项目的时候,写任何代码前,需要对项目本身的业务概念和业务逻辑甚至业务流程都要有一个全面的学习和理解。
这虽然不是一个项目的强制要求,却是一个很好的开发习惯,无论自己的觉得是开发者还是测试员又或是技术总监,掌握了业务原理,才能够更好的设计或阅读项目的数据结构和流程结构。
程序员的思维往往和用户或者客户是不一致的,摆脱技术思维模式,习惯于用业务思维解决问题的程序员,不一定最优秀,但一定是一个很容易沟通的程序员。
6、规避时间碎片化的坑
时间碎片化是开发工作直接的危害之一。虽然很多时间断点无法避免,但管理方式的改进能减轻这方面的危害。减少对开发人员的干扰,提高他们工作时间的连续性,是高效管理的必要手段之一。理解了这一点,把团队拉到偏远的酒店或关到一个单独的房间进行所谓的“封闭式”开发,就显得不是那么必要了。
另外还有一点可以通过自身的学习来获取一大进步。
分享给超过5万的程序员朋友下载,这次我把所有干货重新梳理精简,免费分享给大家 。
究竟有哪些干货呢?
免费领取资料,请关注微信公众号 “程序员精选”,或者微信搜索“wnl1121'
联系客服