拿到一个开发任务,先不要着急开着写代码,要做的第一件事情就是---审题。
1、开发任务如何定义?
答:即如何定义问题的边界,哪些属于问题之内需要解决的,哪些不是需要我关心的。这样做的最大好处是,不会像考试看错题一样,写了一堆没用的答案,费力不讨好。
2、完成这个任务需要用到哪些资源以及 这些资源怎么获取?
答: 是否有可复用的模块,是否有开源的代码,是否有成熟的技术方案等等。 这个问题的解也对开发人员提出一个更高的要求,那就是平时对“轮子”的积累,不要等着用的时候再去造轮子,慢而且比已经被用过多次优化过多次的轮子更容易出问题。
3、如何分解这个任务?
答:纵横交错,阴阳调和。说通俗点就是横向分块,纵向分层。更清晰的解释,纵向就是业务流程或数据流程,横向就是分层解决问题,或者用面向对象的思维,就是需要分几个类来解决这个任务,每层的封装解决自己本层的问题。再就是定义清晰的输入和输出。
4、解决这个任务用到哪些具体的技术?
答:花一些时间了解自己需要用到的技术,一般同类技术中总有一款适合你。比如嵌入式数据库sqlite,写文件的tinyxml,比如jason串。
5、工具的选择?
答:工欲善其事必先利其器,工具的选择也很重要。 选择一款适合自己的开发工具可以事半功倍,熟练掌握适合自己的工具,同时不断积累开发过程中用到的小的调试工具,会让你更加得心应手。
6、证明自己的办法?
答:在开发过程中,要写一些测试函数(不用时可以隐掉),让错误第一时间被发现和消灭, 等有同事与你联合调试时,这个很有用,可以快速证明自己的清白。
另外:看过一位技术大牛的文章,如何读代码?这里也大概写一下,如侵权请通知
1、从主函数开始读;
2、写注释,看不懂的地方可以先猜,写的不对以后可以再来修正;
3、分层读,先搞懂上层逻辑再读下边的东西 ;
4、每次只考虑同一个思维层次的问题(有时候你思维混乱,只是因为你没有聚焦自己的层次)