代码整洁java 代码整洁之道读后感
JAVA开发过程中需要注意那些问题?
开发过程需要注意的问题有下面这些:\x0d\x0a\x0d\x0a1. 服务器端必须提供输入数据正确性的验证,客户端的Javascript验证可以没有。这是基于安全性的考虑,因为Javascript是很容易被绕过的,增加客户端验证只是为了减少服务器压力、界面更加容易使用。 \x0d\x0a\x0d\x0a2. 适度使用Session,尽量不要在Session里放很大的集合对象,以免内存消耗过大,因为很多用户访问的时候会产生很多的Session。参数传递应该尽量通过Request。熟悉HTTP有助于更好的理解Session、Cookie、Request等的机制。\x0d\x0a\x0d\x0a3. 在带有分页的查询界面,尽量不要使用POST方法来传递参数,POST传递的参数在地址栏里是看不到的,刷新后会有重新提交表单的提示。使用GET方法传递参数要注意URL的长度不能超过1K。 \x0d\x0a\x0d\x0a4. 分层应该清晰,一般目前我们分为View(Jsp或FreeMarker加上Action)、Bean(Service)、DAO这么三层,即显示层、业务层、数据层。记录集ResultSet这种只能出现在DAO层中的对象不能出现在Bean(Service)层中,同样HttpServletRequest这种只能出现在View层的对象也不应出现在Bean(Service)层中。这并不是绝对的。 \x0d\x0a\x0d\x0a5. 尽量使用简单SQL,避免两表以及多表联查。多表联查会导致数据库压力大幅增加,而且不利于在内存中对部分记录进行缓存,代码的重用性也难以提高。 \x0d\x0a\x0d\x0a6. 避免在循环里执行findXXById这样的方法,不如执行一个findXXByIds这样的方法一次性把记录取到Map里。大部分有实际对象对应的表应该提供这样一个方法。 \x0d\x0a\x0d\x0a7. 如果使用最原始的jdbc编程的话需要注意资源的正确释放,在循环里new出来的Statement或者ResultSet就要在循环里关闭。 \x0d\x0a\x0d\x0a8. 在编写SQL进行查询的时候,需要能够判断这个SQL是否已经使用了索引,避免全表扫描,必要的时候增加索引。 \x0d\x0a\x0d\x0a9. 在写一个方法前,首先查看有没有相同功能或者很类似功能的方法已经有了,尤其是工具类方法,往往已经写过了,避免重复代码的产生,发现重复代码及时进行处理。如果一段代码被重复使用两遍或以上,那么可以考虑专门写个方法来放这段代码,同样多次使用的常量也应该专门定义出来。 \x0d\x0a\x0d\x0a10. 在一个方法里并不一定只能有一个return,如果已经有结果了尽早return,没必要增加嵌套的层次,那样会导致代码可读性不佳,但也不能return太多,代码看起来比较舒服就可以了。 \x0d\x0a\x0d\x0a11. 不要满足于能够熟练的编写DAO和Bean(Service)的代码,相比较而言,后台如果在成熟框架的支持下,编码是没有太大难度的,也不值得沾沾自喜,因为这是对Java研发工程师基本的要求。适当的培养一下前台的编码能力,学会使用Dreamweaver。不要轻视界面,也别认为这是界面设计的事情,界面对用户来说就是软件,学会编写CSS和调整界面对你没有坏处。 \x0d\x0a\x0d\x0a12. 非常明确Java和javascript作用的范围,明确它们能做的事情。 \x0d\x0a\x0d\x0a13. 一般很奇怪的现象都是由一些低级错误引起的,如果你查了一段时间也没有结果,那么让别人来查吧。 \x0d\x0a\x0d\x0a14. 不要用可能被修改的字段来做主键,那样会让相关记录的更新成为一个大麻烦。 \x0d\x0a\x0d\x0a15. 如果被迫使用Hibernate和jdbc混合操作数据库的话,不要用Hibernate来做复杂查询和统计。Hibernate用的不好的话,带来的便利是非常有限的。 \x0d\x0a\x0d\x0a16. 数据库中经常被读取,但是很少修改的话,应该把这样的数据读到内存中用OSCache之类的缓存起来,然后定期或者触发的去更新,有助于减少读数据库次数,提升性能。 \x0d\x0a\x0d\x0a17. 编码的时候应该注意部署环境带来的影响,这种影响包括操作系统不同带来路径的差异;应用服务器和数据库服务器之间时间的差异;外网可能部署在多台服务器上,放到Session里的对象因为需要复制所以要实现java.io.Serializable接口等。 \x0d\x0a\x0d\x0a18. 尽量不要在jsp上编写太多代码,保持jsp的整洁很重要,用Dreamweaver打开不至于一塌糊涂,根本看不出来这是个什么界面。 \x0d\x0a\x0d\x0a19. 目前我们的项目一般都使用Spring来管理数据库事务,而且一般都配置在Bean(Service)即业务层这一层,应该注意要保持事务的完整性,不要把一些应该放在一起的操作分散在Action这一层。相关的更新操作可以认为是一个事务,比如:增加一个家长,同时更新学生是否有家长的字段。 \x0d\x0a\x0d\x0a20. 在Spring的配置中,对于有些需要保持独立事务的方法操作,比如生成主键等,应该声明该方法为独立事务ROPAGATION_REQUIRES_NEW。Bean(Service)里如果抛出checked exception,事务默认是不会回滚的,需要加以声明,比如PROPAGATION_REQUIRED,-PassportException。 \x0d\x0a\x0d\x0a21. 在一个Bean(Service)中引用其他Bean(Service)的时候尽量引用Bean(Service),而不是DAO。因为其他的Bean(Service)往往封装DAO的操作后,又做了进一步的完善,比如增加校验等,所以应该重用这些方法,而不必要去引用DAO的方法来重写这些操作。 \x0d\x0a\x0d\x0a22. 至少在Bean(Service)的接口定义上增加注释,方便他人引用你写的方法。 \x0d\x0a\x0d\x0a23. 好好利用集合框架里的Map、List、Set。尤其是HashMap、ArrayList、HashSet用的最多,这些类是多条数据操作的基础,它们都不是线程安全的。 \x0d\x0a\x0d\x0a24. 现在跑的快的页面,随着数据量的增加,可能会变的很慢,所以应该意识到页面可能变慢的原因,而不是现在看起来很快。影响速度的大部分原因是对数据库的压力太大了,在java代码执行上花费很多时间的情况是不常见的。 \x0d\x0a\x0d\x0a25. 避免不必要的跳转,如果页面执行的足够快,那么中间的载入进度提示页是不必要的,那样会让用户觉得闪烁。 \x0d\x0a\x0d\x0a26. 注意页面的文件大小,并不是每个用户的带宽都是非常理想的,文件小一点,速度快一点,总是感觉更好一点。 \x0d\x0a\x0d\x0a27. 不要去修改用户的浏览器,比如隐藏他们的地址栏、菜单、右键菜单等,这可能会引起部分用户的反感。尽量不要使用弹出窗口,可能会被拦截。 \x0d\x0a\x0d\x0a28. 网站的权限控制至少应该保证有访问权限的用户才能访问页面,通过隐藏链接之类的方法是很不安全的,用户看不见了并不表示安全了。权限的控制尽量使用框架里的拦截器这样的机制,而不是把权限控制代码写的到处都是。过滤器不宜过多的使用,不仅因为过滤器的作用范围很难控制,而且容易引起页面执行效果的混乱,错误不易排查。 \x0d\x0a\x0d\x0a29. 页面里大部分情况使用相对路径,保持Action路径层次和页面一致,这样应用就可以发布在各种目录下。
创新互联公司专注于锦屏网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供锦屏营销型网站建设,锦屏网站制作、锦屏网页设计、锦屏网站官网定制、小程序制作服务,打造锦屏网络公司原创品牌,更为您提供锦屏网站排名全网营销落地服务。
关于java学习,有什么书籍或者教程推荐不啦?
java Netty实战课程java高性能分布式RPC教程课程 免费下载
链接:
提取码:kvvv
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
做java软件工程师,怎样才能写出好的代码?
Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看他的编程水平。
其实有的java程序员java代码会受到大家的追捧,是因为他在写代码时注意的细节往往多于那些不怎么关注java代码编程细节的程序员,俗话说:“细节决定成败”,那么如何写出好的java代码呢?IT培训介绍一起来讨论下:
1.重视注释
有的java程序员在写代码时,从来没有想过要在java代码后加上相关的注释,甚至是上万行的代码也没有想过加上注释,这就存在很大的问题,不说你的代码会跟其他人分享讨论,就你自己回顾你是怎么写好这篇代码的,你也是半天无法理出头绪,这就为维护和修改等等工作添加了很大的麻烦。所以,要想写出好的java代码,一定从简短的java代码编写开始注重在java代码后面加上相应的注释,养成良好的习惯。
2.重视排版整洁
看很多java程序员的排版总觉得在欣赏一幅艺术品,但是看到一些java程序员的排版却总觉得无力吐槽。同样是编写代码,但是给人的视觉体验是相当的不同,当然好的java代码给人的享受也是美的,所以要想写出好的代码,一定要重视排版整洁。
3.注重命名规则
现在在一个团队开发中,都会提前定制一个统一的命名规则,这样利于提高工作效益。但是很多java程序员是缺乏这个意识的,每次敲代码,更喜欢按照自己惯常的方式老命名模块、函数,这样是方便了自己,但是忽视团队协作,所以在日常工作中,特别是团队工作中一定要重视命名规则。
4.养成备份习惯
备份的重要性不用小编强调,相必你也知道。但是有的java程序员就是没有养成这样的好习惯,每次敲完代码就不记得随手保存,每次等到除了事故,比如电脑出了故障,辛辛苦苦敲打的java代码没保存找不回来的情况下就开始懊恼,与其这样还不如在一开始就养成良好的备份习惯,这样也方便自己日后查找利用。
java有哪些书籍推荐呢?
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较啰嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。
2、《Agile Java》中文版
这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。
虽然作者自己把这本书定位在入门级别,但我不确定这本书用来入门是不是稍微深了点。 Java编程进阶类 打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。
3、《企业应用架构模式》
Martin的又一本名著,但这本书我只是泛泛地看了一遍,并没有仔细看。这本书似乎更适合做框架的人去看,例如如果你打算自己写一个ORM的话,这本书是一定要看的。但是做应用的人,不看貌似也无所谓,但是如果有空,我还是推荐认真看看,会让你知道框架为什么要这样设计,这样你的层次可以晋升到框架设计者的角度去思考问题。Martin的书我向来都是推崇,但是从来都没有像Rod Johnson的书那样非常认真去看。
4、《敏捷软件开发 原则、模式与实践》
Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。
5、《敏捷建模》AM
Scott Ambler的名著,这本书非常的progmatic,告诉你怎么既敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。你可以把《解析极限编程 拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么你也可以去写书了。
6、《快速软件开发》
这也是一本名著。可以这样说,有本书在手,你就有了一个项目管理的高级参谋给你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目点子大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,你只需要稍加变通,找方抓药就行了。
以上是我整理的一些有关java的入门书籍,有兴趣学习java的朋友可以参考一下。
接下来是对各位想要学习java的朋友的一些小小建议,希望对你有帮助!
不管你是学生还是上班族,出了社会才知道钱能挣屎难吃,在学校混日子过来的人,没有一个不后悔的。当你有一天在这个社会生存都成了问题的时候,你会发现自己所有的一切都是灰暗的,穷生奸计富长良心,我体会到了这句话的含义。所以奉劝那些还在上学的学弟(妹)们,抓紧在学校的日子学会一个顺应这个时代发展的技术,选择一个有发展空间的行业,毕业后能找到一份不错的工作,可以让自己有较高的起点,然后不断的向上发展。
1、 千万别自己一个人闭门造车。
不要认为自己可以解决所有问题,学习编程很抽象,尤其是在刚开始学的时候,很多时候你是无从下手的,所以我建议大家一定要懂得借力,找一些学的比较好的同学,或者你认识的朋友带带你,有人真的是事半功倍,效率会提高非常多。或者加一些学习氛围不错的Java交流学习群,跟有经验的人交流可以学到很多好的学习方法和技巧,提高我们的学习效率。
2、 工欲利其事,必先利其器。
在确定了要学习Java前,你一定要有一个非常完整的Java技术栈的大纲体系(比如上面的学习路线图)以及还不错的学习教程(推荐B站java300集),如果我们连一套完整的学习教程都没有,根本不可能学会Java。而很多人在开始使用的教程非常老,很多技术都已经过时,企业并不用这些技术,所以学了也是白耽误工夫。如果大家找不到合适的Java教程,可以试试我推荐的教程,都是免费的,不需要担心。
Java300集零基础适合初学者视频教程_Java300集零基础教程
3、 实践是检验真理的唯一标准。
学习编程一定要记得多动手写代码,视频只需要看一两遍即可。有很多同学不懂得如何学习编程,盲目无脑的一直刷视频看,但你看完视频后很快就会忘记,其实是在浪费你的时间。学习编程的主要目的是能做出好的互联网软件产品。这是一个需要动手的工作,所以我们学编程一定要注重动手写代码。而很多人学习编程都是只看视频,这样的学习方式是非常错误的,所以大家对于这点一定要牢记在心。
4、 项目作品是展现我们水平的重要因素。
我们在学完一个阶段后,一定要记得针对这个阶段去完成一个项目实战。真正能让我们印象深刻,加深理解的学习方式就是参与到项目的开发中。项目才能检验我们这个阶段到底学的怎么样,所以大家在学习的过程中切记项目的重要性,很多人学习Java最后却不能独立完成一个项目模块,如果你达不到这个水平,那么你是不可能找到Java开发工作的。
几个小技巧大家参考一下:
1、基础很重要,不要盲目的追求新技术,往往决定着你思维深度而又被你忽略的就是你的基础!
2、多动手敲代码,有时电脑就和女(男)朋友一样,它和你想的总是有差异的!
3、多百度,多搜索,百度会帮你解决掉百分之九十以上的问题!
4、多思考,急于动手写代码是大忌,熬夜写代码效率并不高。
有任何问题随时私聊我,希望我的学习经验可以帮助到你,多结交一个圈子内的大佬,方便以后创业,毕竟一辈子给人打工是没有止境的。
文章整理不易,还请各位抬抬您的小贵手,点个赞呗~
分享题目:代码整洁java 代码整洁之道读后感
本文地址:http://azwzsj.com/article/doigoig.html