对于重复性工作带来的一些思考
做开发久了
无意间翻到了几年前QQ空间的一条说说
如果你也到了这种状态,不妨静下心来认真学习吧。
以下是对于开发时所能想到总结到的一些思考,希望对大家有帮助:
-
灵活运用继承,在日常反复开发中基于需求改写出适合本项目的基类、抽象接口。
-
在需求明确的情况下细剖其功能,然后将界面分类有些页面需要实现特殊的函数的时候,例如在Android中,可以在BaseActivity的基础上再做一次派生。方式有多种,可以使用interface等方式实现。比如在用户登录成功后的所有页面中,使用Socket判定用户在线状态,一旦用户超过5分钟没有操作或者切到后台,就应该重新登录(需求适用于银行客户端),此时,我们应该从BaseActivity中派生出一个子类,子类中除了实现父类的基本功能外,还应实现对于用户操作、时间判定的一些逻辑,尽可能将重复的数据抽到一个类中保持代码简洁。
-
需求无止尽,轮子也造不完。在理解需求之后若需要用到第三方框架,请尽可能多得了解框架内部的实现原理和issue,以免出现问题时手足无措。
-
多思考,编程前提前想好该运用哪种设计模式更科学。
-
多使用面向对象的三大特性,使用熟练到某种程度后,你会对编程的认知提高一个Level。
-
多敲代码,人对编程领域的认知是需要一定的代码积累的。
-
经常看旧项目,并对旧项目中不合理的地方加以修改、重构。
-
学而时习之,温故而知新。以前你反复写的任何一行代码,乃至一个符号,实际都蕴含了更深层次的信息。例如:在学习了接口与实现后,你就能明白为何新建一个集合的时候会有如下写法:
HashSet books = new HashSet();
Map map = new HashMap();
List list= new LinkedList();
Vector v = new Vector();
Map m = new LinkedHashMap();
- 善于总结规律,每次写完一个项目后,应该总结一下项目遇到哪些问题,解决的思路是怎样的,在解决后得到了哪些启发,这次解决问题的时候有没有绕弯路,下次遇到问题该如何避免。例如:A君每次遇到问题会现在CSDN找答案,少部分的时候能解决,有时候无法解决再找简书、掘金…若再找不到,上stackflow或谷歌找答案。长此以往,A君发现,使用聚合搜索引擎找答案是最快的。一个问题如果连续翻了一整页都没有找到解决方法,此时应该果断去stackflow找问题。比喻可能不恰当,也没有诋毁国内博客的质量问题,只是象征性的说明做事情的方法。要知道,解决问题的方法是这个人能力的表现。
版权申明:未经作者同意,禁止转载。