美文网首页
做事快BUG少就是牛逼的攻城狮

做事快BUG少就是牛逼的攻城狮

作者: flionel | 来源:发表于2017-09-27 21:48 被阅读84次
bingmad.jpeg

头脑抓狂

近半年时间给自己列了很多计划,其实能坚持做完的真的不多,一方面是时间比较紧张,另一方面是有些计划需要点技术含量,而我当前并没有经验和能力来处理这些问题。每天回家或者周末在家,脑子里面不断地在冒出新的想法,新的计划,这让我的脑袋瓜真的有点大。

也不知道为啥,我就是痴迷于了解新的技术、新的知识点,却没有花太多时间去深入学习,即使学习了也没有进一步巩固。可能我心里认为,学了东西多了就是牛逼了,就是大神了,却不曾想,我走入了一条歧路。因为每一项知识点和技能都是浅尝辄止,遇到困难就退缩不前,只是知道皮毛,并不能成为大神,并不能算是牛逼。

反思自己

话说怎样判断一个攻城狮是高手还是菜鸟呢,可能每个人心里都有自己的评判标准。一直以来我对自己还挺自信的,毕竟作为开发iOS的老司机,已经有了4年的开发经验,工作中的任务都能应付得来。本来我以为这样已经可以了,可是这一段时间的经历让我对自己产生了怀疑。

为什么对自己产生了怀疑呢,俗话说没有对比就没有伤害啊。这段时间休婚假,我负责的业务模块转交给另一个同事来开发和维护,等我回来的时候,发现整个代码结构完全变了样,让我非常惊讶的就是代码比我之前写的清晰多了。

首先就是业务的分层更加精细,其次就是用了更好的设计模式和开发方式,让代码可维护性更好。我跟他交流,他说我之前的代码存在了几个问题,

  • 代码结构不清晰,代码中滥用通知
  • 数据状态太多,维护性太差
  • 没有灵活使用swift,没有发挥出swift更大的作用
  • 冗余代码太多,没有抽象封装

确实,他说的问题确实存在。原因是多方面的,首先就是我接手了别人的代码,在别人的代码基础上开发,并没有太大的决心和勇气去重构不合理的地方;其次,每个版本只有我一个人开发,工作任务中,开发时间紧,导致没有太多时间去做优化的事情。积累下来,导致代码可能性和可维护性越来越差。

在iOS开发中,大多数时候使用的是MVC设计模式,做的最基础、最简单的封装,大概就是处理了繁琐的TableView代码,其余的网络请求和数据加载、解析等都没有抽离出来。有一段时间也想换一种开发模式,比如Objective-C中经典的RAC,但是因为自己没有理解到位,反而导致模块中状态相互依赖,阅读起来更加困难。

他的代码这么好,我竟然看不懂

其实,对自己最无语的就是同事写的结构清晰、易于维护的代码,我竟然看不懂。怎么说呢?项目中虽然使用swift写代码,可是大多数时候我是把swift当做OC来使用的,对于swift很多高级的特性,并没有深入的理解。如果说OC是一把水果刀,那么swift就是一把瑞士军刀,它提供了很多的选择,组合起来使用更是犀利无比。

可能各位读者讥笑我看不懂同事的代码,我确实也不想隐瞒,在他的手里,灵活地将swift的特性使用起来,面向对象、面向协议、函数式编程、单向数据流编程、VIPER设计模式、MVVM设计模式、RxSwift和RxDataSources的完美使用。我他妈的,老子跟不上节奏啊。

他也跟我说,一个新的开发方式,就要从一个极其简单的demo入手,将基本原理吃透之后,再扩展开来,你就能够逐步理解这种开发方式了。可能我并没有完全理解他的这种说法,在开发中一头扎进业务代码里面,每一个模块的分层都把我搞得七荤八素,弄了半天也没弄明白。

大道至简,能解决问题的就是牛逼

之前在开发过程中,因为代码结构不好,导致一些BUG比较难改。而采用了新的设计模式和新的代码结构之后,出现问题可以立刻定位到出错的地方,不必从头到尾理一遍代码逻辑,无疑大大地提高了开发效率并减少了出错的概率。

跟厉害的人同行,总是能够有所收益,接下来的时间要从一个个小的demo开始,逐步吃透不同代码结构和设计模式的精髓,希望能够达到我的同事的水平。

加油啊,辣鸡。

相关文章

网友评论

      本文标题:做事快BUG少就是牛逼的攻城狮

      本文链接:https://www.haomeiwen.com/subject/bgjpextx.html