快要毕业了,这里为同学们分享一下我学习编程的过程以及我的一些关于程序设计的理解,希望会对你们今后的学习有所帮助。如果有不同的观点,欢迎评论留言~
根据我对程序的理解,把程序简单分为一下五个部分:
数据获取 –> 数据处理 –> 数据传输 –> 界面展示 –> 数据保存
程序语言基础知识:用Java作为例子,有Java集合类、泛型、反射动态代理、并发基础
架构设计及设计模式:下面会具体说到
算法数据结构:全靠练~
先来一张程序的大致架构,如图:
程序架构.jpg
接下来说一下一个软件制作的大致流程分析:
首先要对所做的东西进行需求分析,要明确一下几点:
model也就是java been,有些软件中,此部分也包含数据库的操作,视情况而定。
首先要尽可能的写出软件中用到的model。下图中是一个软件的用户类:
model.jpg
要进行业务模块的详细划分,以及业务接口实现。
此部分多用于一些大项目,需要多人协作的,可能对于学生或者一些简单应用来说显的没有那么重要,但还是希望我们平时练习的时候多想这方面考虑,以锻炼我们编程的思维模式。
业务划分.jpg
继承上面的业务接口,实现具体的业务功能,此出可以分配不同的业务给多人,以合作完成,并且可以根据已设计好的业务接口来完成Controller和UI部分。
网络访问接口实现.jpg
对于一个新手来说,要做一个完成的系统的时候可能无从下手,也考虑不到架构这方面,那就先从你的个人理解去做吧,不过功能大概做出来之后,希望你们对它进行思考、重构、优化~
优化包括一下几个方面:
如果说一两个月可以完成一个软件,那么这个软件的维护时间至少在一两年,在优化项目的同时也可以让我们获取不少知识。我在校期间做过4、5个项目,但是都是做完之后就扔了,没有再去优化,Android的更新速度也快,以至于现在都不忍心看以前的代码,所以对以前做过的东西忘了很多,甚至都不知道一些关键功能是怎么实现的,虽然做了很多,但效果甚微…
建议同学们在校期间完成一到两个项目就可以,不管我们之前写的代码有多烂、但最好也要对其不断的进行重构、优化。优化的同时,可以自己总结出一个Lib包,其中可以包含:基类、工具类、常用控件封装等。
对于算法、数据结构,个人认为天赋只占10%,剩下的还需要我们自己多多练习,这里给大家一些学习资源,牛客网上也有相关题目
作 者:ChanghuiN
原文链接:https://cloud.tencent.com/developer/article/1333335
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。