Java开发的应该如何掌握上述相关技术?
一:首先,有这样的一种情况很常见,对于想自学Java开发的人来说,他们
大多数都是非常盲目的,不知道自己改如何入手,很多人在网上找一些视频,然后疯狂的过视频,很快就把一块内容都学完,他们理解的学完了就是视
频看完了,但是让他们动手去做东西却做不出来,而我的理解学完了就是自己能写出东西,所以对于初学者来说一定不能盲目,要有自己的规划,不然
就是浪费时间白忙活。
二:既然是学习Java开发专业技术,我个人的建议是,一定要有一个能指导
你的人,不能都靠自己闭门造车,这样的行为并不聪明,结识一位这方面的人才,时不时去问问人家问题,不然你可能会发现一个小问题能困扰你一天
,**后还不知道是什么原因。
三:学习Java开发技术,不能跟学数学语文一样对待,比较刚接触代码是不
容易记住的,所以要掌握上述的技术,你还要知道学习Java开发技术有哪些“坑”。对于学习方法这块是尤为重要的,怎么学才能让你学完了能记住之
前学的那些,不至于学完了就忘,这个问题值得你学习之前去思考的。
四:根据我多年的学习情况来看,你平时一定要养成好的学习习惯,就说我
自己吧!我就喜欢把自己曾经遇到的问题整理在电脑的日记本上,然后我会搜集一下博客相关的Java技术文章,一些我认为比较有用的网站,以后都能
用的上,这是我个人的学习习惯,相信我,如果你想走的更远,一定要养成习惯。
**后给大家一些详细的学习安排路线:
Java基础:Java基础语法、数组、类与对象、继承与多态、异常、范型、集
合、流与文件、反射、枚举、自动装箱和注解。
数据库:mysql、oracle
Javaweb:HTML与CSS网页开发基础、Java脚本语言、搭建开发环境、JSP基
本语法、JSP内置对象、JavaBean技术、Servlet技术、Ajax技术
框架:Struts2、Hibernate、Spring、SpringMVC、mybatis
Java设计和编程思想
Java基础
环境搭建(包括Windows下和
Linux下的Java环境搭建)
Java语言基础
Java流程控制
Java常用类
Java面向对象
Java类与对象
介绍面向对象多态
接口与抽象类
Java高级
异常处理
I/O、JavaBean
反射
多线程
网络编程
泛型/Java集合类
Java与数据库
MySQL
ORACLE
JDBC开发与应用
Redis
课程优势
1.行业一线讲师讲解,深入浅出。
2.全面、完善的java课程体系,帮助学员更深更广的体验java魅力。
本阶段学习目标
1.精通java面向对象思想和基础语法。
2.熟练java中异常处理。
3.精通java中I/O操作。
4.掌握java中多线程操作。
5.精通java中集合类的使用。
6.掌握java中网络编程。
7.精通数据库/JDBC/redis/mysql的使用
本阶段学习效果
1.精通Java语言及其高级特性。
2.具备本地应用开发能力,能够开发一些本地软件,例如:聊天室,文件传
输助手等。
大神总结的App重构经验
>
**近跟一个朋友聊到关于App架构的问题, 其中就聊到一个App, 开发了很长时间, 一开始没有去想框架的事儿, 迭代过程中, 由于时间紧, 任务重, 人员更替等原因, 也没能保证代码质量, 很多设计原则被抛之脑后, 代码质量逐步下降, 以致难于阅读, 难于维护. 进而导致迭代困难, 而形成恶性循环.
从而引申出如何重构App代码的话题, 谈点个人理解:
什么情况下需要重构
1, 结构错乱
代码无法分出层次, 无法分清业务线.
各个业务模块间/层次间的代码互相夹杂.
由于多人协作导致的多种架构(MVP/MVVM/MVC等)并存.
规范性问题, 导致各个模块内的代码形式互相不一致, 风格迥异.
2, 可读性差
超长函数, 超大类
代码的格式不规范或不一致.
冗余代码, 无用代码, 重复代码.
过于高明, 使用一些不常用的小技巧而且没有相关注释.
滥用继承, 接口实现等, 导致难以跟踪.
3, 不能很好的适应产品的发展
维护困难, 前一发动全身.
不具备扩展灵活性, 无法很快引入系统版本更新时新特性.
不具备可变更性, 产品添加新功能或修改需求时需要修改大量的代码.
重构的目标
重构的目的就是要提高代码质量, 而高质量的代码指标个人认为有如下几点, 当然其实也是老生常谈的几点.
排名分先后:
1, 可读性
规范一致性.
结构, 层次明了.
命名有含义, 注释要清晰.
逻辑简短, 没有长篇大幅的代码块.
方法提取, 类继承关系合理.
不滥用设计模式.
聪明是可读性的敌人.
2, 可维护性
杜绝魔鬼数字/字符串/尺寸值/颜色值等
代码复用, 以便维护.
不写死, 预测可能的变化(但不要提前设计).
3, 可扩展性
良好的分层结构, MVx模式运用.
**一些设计模式的使用来提高可扩展性.
开闭原则: 修改关闭, 扩展开放.
如何重构
首先让我们重温下"重构"的含义:
<<重构 --- 改善既有代码的设计>> 这本大神作品强烈建议大家翻阅下~ 里面对重构的定义, 以及如何从一个个小的Bad Smell开始重构等都有详细的描述.
那么作为一个进行已久的Android工程, 我们应该如何重构呢?
其实这是一个对症下药的问题, 针对为什么要重构提出的几个代码问题, 重构也可以分成以下几步:
1, 架构选择, 结构调整
根据App的业务场景(展示型, 交互型, 后台工具型...)选择合适的架构.
并不是说一定要选用一个架构, 比如说后台工具型的App, 可能界面不多, 也服务器的交互也少, 基本是由Service组成, 可能直接用Android原生的结构就可以.
界面较多, 且与服务器交互较多的建议选用MVP架构. 可以**P来做数据处理, 将数据源M与展示层V解耦, 便于替换数据源或是改变UI.
根据选用的架构以及业务模块分包
2, 技术/开源库选定
ListView/RecyclerView的选择, Fragment/Activity的选择等.
根据业务特点和选择的架构, 选用相关技术/开源库支持或对当前使用的进行整理.
例如HTTP请求库, 缓存库, 图片加载库等等.
3, 确定规范
制定编码规范, 可以根据Google推荐的java编码规范, 适当定制.例如我的项目中的基本规范.
制定代码提交规范, git flow管理流程规范等.
4, 自底而上, 由小至大
从底部开始, 也就是常说的Model层,数据层开始, 因为这部分相对独立, 可以**提供接口与UI层隔离.
不要一下就大面积重构, 需要逐个小的case进行重构验证, 保证当前运行.
5, 持续重构, 伴随测试
持续进行小的重构, 每次重构需要伴随测试, 保证重构结果.
提取方法, 去除重复代码.
结构调整.
融入面向对象/接口编程思想, 注意SOLID原则.
多用组合, 少用继承
......
**好有单元测试支持.
6, 重构而非重写
不到万不得已不要想重写.
重写会产生各种意想不到的问题, 诸如设计过度, 对于当前代码把握不够(例如现在看起来很不友好的代码可能就是为了解决一个架构无法解决的问题等).
相关推荐:
苏州JAVA培训 苏州JAVA培训班 苏州JAVA培训机构