从上学期开始大概8月初的时候。费好大劲争取来的这个FYP project esperanza. 是一个失败的project. 到现在将近一年的时间。 今天要做最后的implement 的debug. 回想起来,这个project 完全是失败的. 不仅没有增长个人的android 开发技巧,还因此耽误了很长时间。 现在回想起来,当时的两个选择,一个这个project, 一个ACM. 如果专心去做ACM. 可能现在的境况要好得多。 后悔是没有用的。 在此留下一片总结。save as the future reference.
1. 在开始写代码前一定要画出一个清楚的class diagram 和 整个的程序流程(use case)。 怎样从一个activity 跳到另一个activity. 这样不仅能够提高code效率,在implement时候也能更快的上手。 一定要先细致的consider the whole design。 在开发过程中除非及特殊的情况,不要更改design.
这次开发过程前就没有进行仔细的思考,导致开发之后不停地更改,浪费很多时间。 而且游戏界面做的非常难看,设计非常不合理。
2. 在做每一个project之前要对自己当前状态做一个总结。 千万要量力而行。 比如这个project, 在开始开发的时候就应该把它定位在业余时间。 只有在周末或者假期时间进行开发。 佛则就会像现在这样,丢了西瓜捡芝麻。 课程没有时间学,影响了自己的GPA. 这是非常得不偿失的事情。
3. 每一件事情都会有benefits. 一定要思考这个是不是我所需要的。 根据自己的性格,要分悉清楚自己的得失。 最这个project 会得到一些好处,比如我会熟悉FYP的流程,提高android 编程水平。 但是回想起来,如果当时选择放弃这个而是专心做ACM. 自己一定会有更多的时间focus 在各科的学习上。 成绩会好一些(definitely will get higher score in algorithm :( )。 那现在的境况一定会非常不一样。
4. 千万不要中途退缩。 我有这样的毛病。当刚开始的兴趣减退了,就想放弃。 这是万万做不得的。 不管这个工作时好时坏, 完成它一定会要所收获。中途放弃了就什么也得不到了。 不管自己想与不想,只要你答应下来,那这个就是自己的责任,无论怎样都要完成它。this is my responsibility. A man must be responsible towards what he promised. 这是自己选择的立世的基础。
5. 一定要定期写总结。很清楚每次更改完一个version. 都会感觉身心疲惫。 但还是要在当时写好总结。 学到了什么, 还要做什么。 这个是自己学习进步的基础。 不写总结,不可能进步。 写过就忘,也不可能通过日积月累成为高手。