天天看点

跳出业务开发的框框

首先,这个一个比较泛的话题,没有涉及到具体的技术细节,只是作者多年经验的一个简单的总结,很多工程师刚进入工作的时候,都是从一线业务开始,从0开始,都会觉的很兴奋,一切都是新鲜的,但做了一段时间的业务之后,熟悉了业务相关的东西,就会发现每天都在做一重复的事情,然后进入到了一个瓶颈,特别是大公司或者有着悠久历史的业务,可能具体接触到的东西非常有限,很快就进入机械的工作当中,不停的满足需求,感觉没有太大的进步。所以把我是如何跳出业务的框框的一些经验分享出来,希望会给一些朋友有帮助。

跳出一线业务框框,我以php为例认为可以从以下几点着手:

  1. 开发框架:一个好的开发框架,是有效提升工作效率的重要组成部分,很多大公司都有自己成熟的一套开发框架,但大部分的人可能对公司的框架了解并不透彻,只是在做着框架的某一个业务逻辑,这是可以第一个可以跳出的点,分析整个框架,了解透彻,然后思考框架的优点,缺点,提出更好的改进方案。
  2. 语言,服务等版本:语言、服务等版本都是在不断的更新的,性能也在不断的提升,很多公司,由于历史包袱,语言版本,web服务器都还在比较低版下运行,这时可以勇敢的进行语言和升级,例如php,现在最新版已经的大版本升级到了5.5.x,如果还在运行在5.2.x这个官方都不在维护的版本,这样就太out了。还比如web服务器等等都一样。
  3. 业务解耦:很多项目,由小到大,由简单到复杂,导致代码越来越臃肿,牵一发而动全身,这时要跳出来,进行业务解耦,把服务公共化,soa化。
  4. 性能:追求性能,是工程师自我提升的重要途径,如果从这里能跳出来,会是一个质变,在实现具体的业务需求的时候,对这些业务需求的性能分析,如:处理时间,内存,cpu消耗能够精确把控,追求极致。
  5. 问题分析:没有不出bug的程序,所以如何快速定位问题,这点也是要从业务开发出跳出来的。这个一方面需要你对程序的把控,也对你的知识广度有一定要求。一般来讲,都是由面到点,面上主要集中在服务的可靠性的分析,运维的监控等等,点上主要集中在程序里的各种日志分析。做好严谨的异常判断和日志分析,再配合一定程序的单元测试,都是你需要从业务线上跳出来的。
  6. 技术的深度:业务开发是最上层的需求,努力跳出来,深入到一些更底层的技术,比如php的深度进阶:业务->框架->扩展->操作系统层面上、算法等等,有句话说的很有道理:知道的越多越白痴。
  7. 技术的广度:积极了解最新的技术,了解和参与成熟的开源项目,都会对提升知识面的广度有很大的帮助。

以上是一些不成熟的经验之谈,有什么错误的地方希望能指正,更希望能给一些人帮助。