首页
学习
活动
专区
工具
TVP
发布

Java开发者反思录:如何写出美观、让别人阅读欲望的Java代码

虽然代码书写规范对程序性能及运行并不影响,但影响着别人对你编程习惯或能力的第一印象,同时也会给阅读者带来不一样的的观感。...我刚接触编程的时候,代码开发的格式也是随心所欲,这里加一个空格,那里加一个空格。后来在朋友的提醒下,就开始按照来严格要求自己的。...工作中也逐渐发现,你更乐意去阅读按照别人规范格式编写的代码。这里先写一个demo进行对比。...但是在项目中,往往一个Java源文件里面的代码就有成百上千行。如果用第一种写法,代码看起来就会很紧凑,读起来特别累,所以在实际工作中,基本上都是使用第二种写法。...包括Java其他方面例如集合操作等规范,这些皆在中有迹可循。所以建议刚入门的小伙伴们,在刚开始学习Java编程的时候,就依照手册里的规范来要求自己,养成良好的编码习惯。

28810

阅读别人代码,是一种怎样的体验

在此建议别轻易修改别人代码代码的“混乱”不是一蹴而就的,是经过多个版本迭代或者需求的变更遗留下来的,是经得住推敲的。如果非得重构代码,建议让编码者亲自操刀。...从容不迫 “进可攻退可守”——是我对阅读同事代码第二阶段的感受。 工作几年之后,对代码的编写和工作的流程有了进一步的理解,对阅读别人代码这件事也就有了更多的感受。...经历过阅读别人代码甚至修改别人代码之后,年轻的冲动和对垃圾代码的愤怒也被紧急的项目以及莫名的Bug给磨平了,少了些青葱的激昂,多了些老练的从容。 为什么总结为“进可攻退可守”呢?...如何阅读 至于该如何阅读别人代码,我也来谈谈我的想法,在此抛转引玉,大家评论区见。 优秀的评论可以获取文末技术书籍一本。...小结 无论是从读别人代码那种煎熬的程度,还是从如何阅读才能提高效率,无一不体现出代码的可读性对开发效率的影响,因此我们在平时开发过程中一定要写注释、写注释、写注释!

25430
您找到你想要的搜索结果了吗?
是的
没有找到

如何阅读代码

身为一个程序员,工作中最重要的事情当然是写代码,其次就是读代码了。我们都是先阅读别人代码,才模仿着写下了自己的第一行代码。...接手维护别人的项目,要读代码,遇到bug排查问题,要读代码,学习别人精妙的设计,同样需要读代码。从代码量上来说,绝大多数人所阅读代码量远超自己写的代码量。...所以程序员必须学会正确的阅读代码姿势,高效正确的阅读代码。 为什么读代码很难 读代码并不比写代码简单,阅读代码的困难源自以下几个方面。 首先,实现一个功能,存在多种具体的实现方式。...接下来可以开始读代码,但不是所有的代码都需要阅读。什么样的代码需要阅读?...之后再按需阅读代码,这样的好处是要读的代码变少了,而且读的时候理解起来也更容易。那么什么是模块呢?这篇文章里,我们可以把模块理解成各个编程语言中组织代码的单位,比如Java/C++中Class。

88320

你动了别人代码边界

在一番争论后,领导对我说了句:你到底懂不懂抽象啊,你动了别人代码边界。 事情的经过 「领导」:诶,你这个代码咋和我写的demo不太一样呢?...「我」:虽然是重写了,但是跟直接把代码拷贝过来是一样的,并没有增加系统的复杂度。 「领导」:你到底懂不懂抽象啊,你动了别人代码边界。 「我」:我咋就不懂抽象了? 「领导」:这样和你说吧。 ?...当你在看代码的时候,觉得别人代码写的可能不够规范,或者说不符合你的规范。因为你觉得不符合规范,这个只是你的主观判定,而不是一个客观的事实。在你看来不符合规范的代码,可能就是别人的规范。...最好不要因为这个原因去更改别人的的代码。 「我」:好的 总结   不要去改变别的代码边界。当你更改了别人代码,就意味着破坏了别人代码边界。一旦边界被破坏,那就可能出现无法预估的风险。...结尾   说的通俗一点就是,不要瞎鸡儿改别人代码。不管别人写的好不好,只要没bug就行,如果有bug也是别人改。有这个时间早点下班不好吗。

47220

编写让别人能读懂的代码

而新功能的开发又常常依赖于旧代码阅读代码所花费的时间几乎要大于写新功能的代码。...我们所写的代码除了让机器执行外,还需要别人阅读。...所以我们要: 写让别人能读懂的代码 写可扩展的代码 写可测试的代码(代码应该具备可测试性,对没有可测试性的代码写测试,是浪费生命的表现) 其中2,3点更多强调的是面向对象的设计原则。...,如果你正在试图写一段注释,从某种角度来看,你正在试图写一段别人无法理解的代码。...当然高质量的代码还需要良好的设计和遵循面向对象编程的原则。 如果想了解更多相关内容,请阅读代码大全》,《代码整洁之道》,《重构 改善既有代码的设计》,《敏捷软件开发 原则、模式与实践》。

73880

写让别人能读懂的代码

写让别人能读懂的代码 随着软件行业的不断发展,历史遗留的程序越来越多,代码的维护成本越来越大,甚至大于开发成本。而新功能的开发又常常依赖于旧代码阅读代码所花费的时间几乎要大于写新功能的代码。...我们所写的代码除了让机器执行外,还需要别人阅读。...所以我们要: 写让别人能读懂的代码 写可扩展的代码 写可测试的代码(代码应该具备可测试性,对没有可测试性的代码写测试,是浪费生命的表现) 其中2,3点更多强调的是面向对象的设计原则。...,如果你正在试图写一段注释,从某种角度来看,你正在试图写一段别人无法理解的代码。...,声明性代码更加具有表达力,也更简洁。

87150

正确复制、重写别人代码,不算抄袭

不管你怎么做,“重用”就是抓取别人代码,通过它的接口来使用,而不去关心它的内部结构。这段代码还可能会“偷渡”到一群横向的依赖关系中去,这会给你带来麻烦。最少的努力,带来的是最少的控制。...尽管在一些情况下,对某个特定版本的代码进行快照非常有价值,但是你可以通过构建清单(例如 Java 中的 pom.xml,Node 中的 package.json)使用固定版本来完成同样的事情。...重写代码片段 如果是 200 行以内的代码片段,或者是复制的代码,我一定会逐行重写代码,这样可以了解到这些代码是如何工作的,并且做一些改动,使之更适合我的项目。...所以,这种浅重写是一种很好的方式,可以把别人代码导入到你的项目中。有些问题是可以避免的。你可以根据你的用例和其他需求对代码进行调整。另外,你还可以在学习新的算法和实践中,成长为一名工程师。...你可以“捕捉”到别人来之不易的知识。 因此,对我来说,这是一个明显的案例,重写,而非重用,可以节约我的时间,并且让我得到更好的结果。

79920

禁止别人调试自己的前端页面代码

由于前端页面会调用很多接口,有些接口会被别人爬虫分析,破解后获取数据为了 杜绝 这种情况,最简单的方法就是禁止人家调试自己的前端代码图片 无限 debugger前端页面防止调试的方法主要是通过不断 debugger...来疯狂输出断点,因为 debugger 在控制台被打开的时候就会执行由于程序被 debugger 阻止,所以无法进行断点调试,所以网页的请求也是看不到的基础代码如下:/*** 基础禁止调试代码*/((...(() => { debugger; }, 50); } try { ban(); } catch (err) { }})();图片 忽略执行的代码通过添加 add script ignore...list 需要忽略执行代码行或文件也可以达到禁止无限 debugger图片 忽略执行代码的对策那如何针对上面操作的恶意用户呢可以通过将 debugger改写成 Function("debugger")...);',9,9,"block function setInterval Function debugger 50 try catch err".split(" "),0,{}));图片 终极增强防调试代码为了让自己写出来的代码更加的晦涩难懂

49041

如何阅读框架源代码

组件化吧,带着框架是如何解决这个问题的疑问去学习,定能事半功倍 对于读源码来说,这一步就更关键了,如果都不了解代码是要干什么的,怎么会清楚它为什么这么写呢?...如果不告诉你这使用了运用三角形的余弦定理,恐怕你看半天也看不出来这是怎么算出来的 那么我们可以通过什么渠道去了解框架的设计思想: 到框架的官网看文档,开源的框架,甭管详不详细,这肯定是第一手权威资料 到网上搜别人的分析总结...有一定代码量的积累之后,建议阅读一些设计模式类的书籍,对自己的代码设计,以及阅读别人的源码,都很有益处。...树要这么多分支,时间又是这么昂贵,阅读的策略很重要。...我们的阅读路径,要以主要流程为主(也就是树的主驱赶,这样才能尽可能快的到达顶点),对于一些细枝末节,再这之后再来慢慢啃(或者有必要的时候) 例如,要去阅读 Vue 的源码,有个目录是解析模板,生成语法树

1K60

如何阅读Java源码?

假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。...但是真的把那么庞大复杂的代码放到你的眼前时,肯定会在阅读的过程中卡住,就如同陷入了一个巨大的迷宫,如果想要在这个巨大的迷宫中找到一条出路,那就需要把整个迷宫的整体结构弄清楚,比如:API结构、框架的设计图...2、Java Web项目源码阅读 步骤:表结构 → web.xml → mvc → db → spring ioc → log→ 代码 ① 先了解项目数据库的表结构,这个方面是最容易忘记的,有时候我们只顾着看每一个方法是怎么进行的...③ 查看拦截器,监听器代码,知道拦截了什么请求,这个类完成了怎样的工作。...有的人就是因为缺少了这一步,自己写了一个action,配置文件也没有写错,但是却怎么调试也无法进入这个action,直到别人告诉他,请求被拦截了。

1.1K31

怎样写出别人无法维护的代码

另外,在你的代码里,你可以混用不同的度衡单位,但也不要注释。 Gotchas。陷阱,千万不要注释代码中的陷阱。 在注释和文档中发泄不满。 04 程序设计 Java Casts。...你几乎都不用理解别人代码,你就可以高效地编程了。(译者注:Copy + Paste出来的代码bug多得不能再多) 巨大的listener。...java.lang.String不也是这样吗? 避免使用接口。在java中,BS接口,在C++中BS使用虚函数。 避免使用layout。这样就使得我们只能使用绝对坐标。...05 混乱你的代码 使用XML。XML的强大是无人能及的。使用XML你可以把本来只要10行的代码变成100行。而且,还要逼着别人也有XML。(参看,信XML得永生,信XML得自信) 混乱C代码。...一行的代码越长越好。这样别人阅读时就需要来来回回的 不要较早的return。不要使用goto,不要使用break,这样,你就需要至少5层以上的if-else来处理错误。 不要使用{}。

78020

如何阅读Java源码?

假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。...但是真的把那么庞大复杂的代码放到你的眼前时,肯定会在阅读的过程中卡住,就如同陷入了一个巨大的迷宫,如果想要在这个巨大的迷宫中找到一条出路,那就需要把整个迷宫的整体结构弄清楚,比如:API结构、框架的设计图...2、Java Web项目源码阅读 步骤:表结构 → web.xml → mvc → db → spring ioc → log→ 代码 ① 先了解项目数据库的表结构,这个方面是最容易忘记的,有时候我们只顾着看每一个方法是怎么进行的...③ 查看拦截器,监听器代码,知道拦截了什么请求,这个类完成了怎样的工作。...有的人就是因为缺少了这一步,自己写了一个action,配置文件也没有写错,但是却怎么调试也无法进入这个action,直到别人告诉他,请求被拦截了。

80020

如何阅读Java源码?

阅读Java源码的前提条件: 1、技术基础 在阅读源码之前,我们要有一定程度的技术基础的支持。...假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。...但是真的把那么庞大复杂的代码放到你的眼前时,肯定会在阅读的过程中卡住,就如同陷入了一个巨大的迷宫,如果想要在这个巨大的迷宫中找到一条出路,那就需要把整个迷宫的整体结构弄清楚,比如:API结构、框架的设计图...2、Java Web项目源码阅读 步骤:表结构 → web.xml → mvc → db → spring ioc → log→ 代码 ① 先了解项目数据库的表结构,这个方面是最容易忘记的,有时候我们只顾着看每一个方法是怎么进行的...有的人就是因为缺少了这一步,自己写了一个action,配置文件也没有写错,但是却怎么调试也无法进入这个action,直到别人告诉他,请求被拦截了。

2.2K30

如何阅读大牛的代码

一、代码阅读的必要性 阅读别人代码作为开发人员是一件经常要做的事情。一个是学习新的编程语言的时候通过阅读别人代码是一个最好的学习方法,另外是积累编程经验。...比如你阅读turbo c2的源代码你要有turbo c2的函数手册,使用手册等专业书籍,msc 6.0或者java 的话不但要有函数手册,还要有类库函数手册。这些资料都是你的基础资料。...在c, c++,java ,delphi中都有自己的系统函数,不要去阅读这些系统函数,除非你要学习他们的编程方法,否则只会浪费你的时间。...写注解 写注解是在阅读代码中最重要的一个步骤,在我们阅读的源代码一般来说是我们不熟悉的系统,阅读别人代码一般会有几个问题,1搞明白别人的编程思想不是一件很容易的事情,即使你知道这段程序的思路的时候也是一样...重复阅读 一次就可以将所有的代码阅读明白的人是没有的。至少我还没有遇到过。反复的去阅读同一段代码有助于得代码的理解。

82340

阅读代码整洁之道》总结

出处:https://www.cnblogs.com/xiaoyangjia/ ---- 很早就阅读过《代码整洁之道》(英文版Clean Code),当时博主是个青涩的菜鸟,正在为团队创造着混乱的代码...多年的工作中,屡次被别人代码坑的苦不堪言,回想起当年我留下的代码,肯定也坑害了后来的同僚。...当阅读JDK源码或者其他优秀开源工程时,叹服作者代码构建之精良,他们都有共同的特点:精确的变量名、恰到好处的设计模式、详细而不赘述的注释等等。...编写代码的时候,应该考虑到别人阅读感受,减少阅读障碍,为整个团队创造代码,而不是你自己。 让营地比来时更干净 这是美国童子军规的谚语,美国童子军相当于半军事化管理的青少年夏令营。...过长的方法,让阅读者不知道从何看起,看了前面忘记后面。将复杂的方法,拆分成逻辑相对简单的短方法。

52240
领券