首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

别人能读懂代码

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

87150

博客学习别人旋转星球

relative; animation:sunRotate 5s; } 定义一个div 太阳sun,把红太阳放在中间,居中显示,定义position为absolute, 距左50%,剧上50%,左边距负宽度一半...,上边距负高度一半 #sun{ background: red; width: 150px; height: 150px; position: absolute; left: 50%...,定义position为absolute,距左50%,剧上负高度一半,左边距负宽度一半 #earthline{ width: 200px; height: 200px; border:...margin-left: -100px; } 定义一个div 地球 earth,把地球放在水平居中,太阳轨道垂直地球居中,定义position为absolute,距左50%,剧上50%,左边距负宽度一半...,左边距负宽度一半 #moon{ width: 40px; height: 40px; background: blue; border-radius: 50%; position

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

别人源码,那我也要看!

关于是否要去看源码这件事,简单聊聊我看法吧。 首先,很多程序员会觉得程序员最高境界就是 牛逼源码 和 牛逼源码 ,我个人也对这点不置可否,毕竟这就是学习 + 创造过程嘛。...无论我们处于什么学习阶段,入门也好、精通也罢,都应该多去看别人源码来学习,也应该多去代码来实践。...同样,阅读知名项目的源码不仅能给我们编程技能带来很大提升,也会给我们求职(简历、面试)增加核心竞争力。...但都是读源码,为啥有些人读过程就像是本小说,有些人读起来却像是在背课文?为啥有的同学读完后能自己一个,有些同学读完就忘、啥收获都没有呢?...所以,不要看别人去读源码,你也跟着去读,更不用因此感到焦虑。 幸存者偏差,无论是校园学生还是职场员工,真正敢说自己读过牛逼源码同学还是少数。

50020

开学前别人面经笔记

加锁、cas、 BIO、NIO区别 spring框架 IOC好处 常用MySQL 语句优化 Explain 先来分析语句是否用到索引 设计表时候从哪些角度去考虑 事务隔离级别,...数据库这俩引擎 索引 b+树实现 MySQL主从同步是如何实现(全量同步、增量同步) redis 基本数据类型,缓存击穿和缓存雪崩,哨兵和主从同步 有redis mysql 怎么设计查询服务架构...TCP如何保证连接和传输可靠性,在网络情况比较差情况下如何保证可靠性 简单说几个http状态码 301 和 302 区别,301代表永久性转移 302代表暂时性转移 平常开发用linux...为什么 kill 可能会出现杀不掉情况,kill -9 和 kill 区别在于发信号不一样 我想查看日志后十行 le 我想看日志实时刷新怎么 tail,加参数吗 查看处于 time_wait...、established tcp 数量怎么,netstat -t 这个 -t 就是 tcp 问问题,哪个部门主要业务是什么 主要技术栈,您对我有什么建议吗 tomcat

64220

(转)你代码,是别人噩梦吗

自从工作后写了大半年代码了,公司由于历史原因项目中充斥着各种不合理设计,写着写着就很容易烦躁,影响心情,代码本来是快乐而富有创造事情,面对这样噩梦需要找到解决方案,那么方案就是这篇文章. ----...从业这么多年,接触过银行应用,Apple应用,eBay应用和现在阿里应用,虽然分属于不同公司,使用了不同架构,但有一个共同点就是都很复杂。...导致复杂性原因有很多,如果从架构层面,主要有两点,一个是架构设计过于复杂,层次太多能把人绕晕。...但是你把它抽出来,凸显出来,给它一个合理命名叫DistributionPolicy,后面的人一就明白了,哦,这是一个分配策略,这样理解和使用起来就容易多了,添加新策略也更方便,不需要改原来代码了...在加上上面介绍把业务规则显现化,极大提升了代码可读性和可扩展性。用尚学的话说,用DDD代码,他找到了创作感觉,而不仅仅是码农式Coding。

1K20

别人能读懂代码+网页性能管理详解

我们所写代码除了让机器执行外,还需要别人来阅读。...所以我们要写: 让别人能读懂代码 可扩展代码 可测试代码(代码应该具备可测试性,对没有可测试性代码测试,是浪费生命表现) 其中2,3点更多强调是面向对象设计原则。...,如果你正在试图一段注释,从某种角度来看,你正在试图一段别人无法理解代码。...一般来说,样式操作之后,如果有下面这些属性读操作,都会引发浏览器立即重新渲染。...第一条是上一节说到,DOM 多个读操作(或多个操作),应该放在一起。不要两个读操作之间,加入一个操作。 第二条,如果某个样式是通过重排得到,那么最好缓存结果。

1.1K90

觉得别人代码难以维护,应该吐槽吗?

反正任何别人系统并且由我接手我都要批判一番,认为自己总能写比他们好。 不过随着行业经验增加,我发现自己代码也老是被别人吐槽。...结合平时和同行沟通和观察,我发现不管是什么样程序员,不管是经验丰富老手还是刚出道菜鸟,有一个共同特征就是会抱怨别人代码有问题。...其次,对程序员而言,代码是自己还是别人是有区别的,这是铁律,每个程序员都有体会。对于别人代码,即使再好,在没有深刻理解情况下, 程序员也会觉得读起来费劲, 难以维护。...举例来说,对于github上牛逼项目,如果有程序员在没有接触过前提下敢说轻而易举,那就是图灵转世。...所以,程序员们, 不要吐槽别人代码烂,想要轻轻松松一样看懂别人代码,不可能, 除非计算机科学以及衍生商业逻辑被重新定义,否则除非不当程序员, 不然没有办法可以避免。

49620

程序员技巧:努力和勤奋要让别人

常常回想起以前自己,以前我只是一个喜欢代码程序员,没有想过如何好好规划自己未来和与人相处之道。如果早知道下面的这些技巧会避免很多不必要麻烦。...机会是自己把握,但有时也是需要别人给你这个机会才行,如果可能,一定要和周围同伴都打好关系,也许很多人在你看来很不起眼,但是过几年后你会发现一切都有可能变化,一些你几年前看着不起眼的人这时会让你刮目相看...若真的出现端口冲突,也有可能是连接到错误网络设备或者未分配IP地址,这种情况异常不是真正错误。解决问题本质就是运用学会知识和以前积累经验,竭尽所能地去解决种种未知事物。...6.你努力和勤奋一定要让别人见 如果你老板或上司看不到你努力和勤奋,那么他们就不会给你更多机遇。所以不要傻着自己偷偷努力工作。...8.培养沟通能力 无论是在公司会议上还和别人讨论中,如果你总是怯场,那么你就要好好学习下如果克服了,多参加一些这样聚会讨论,多多学习,因为学好这些能力和你写好代码一样重要。

55260

改和别人代码是一种什么感受

对于修改代码,我很多年前就体验过一次,是修改自己代码,记得刚毕业时候写了一个小项目,是使用JavaSwing技术实现,能够对一个表格做数据增删改查。...,再也不想看自己代码了。...第二次时候,导师从设计模式角度给我提出了一些建议,然后我开始重新审视自己代码,改一改,调一调,看起来是那么回事了,依稀记得当时使用是命令模式。...业务是跑起来了,后来的人可就惨了,我记得当时一个类方法,差不多有上千行,我逻辑已经快懵了。然后小心翼翼在里面添加一堆逻辑,为了不和其他人逻辑干扰,我自己抽取了一个段代码。...当时找公司同事来提交补丁改已经来不及了,我现场打开电脑,查看代码,硬生生调了一版,想起来除了无助就是无奈。 慢慢,也确实有了一些经验,所以会时不时看看别人代码,我觉得基本有两种状态。

95380

如何避免自己代码成为别人眼中一坨屎!

普通工程师堆砌代码,优秀工程师优雅代码,卓越工程师简化代码。如何写出优雅整洁易懂代码是一门学问,也是软件工程实践里重要一环。...: TODO 待处理问题; FIXME 已知有问题代码; HACK 不得不采用粗糙解决方案; 在注释中用精心挑选输入输出例子进行说明; 注释应该声明代码高层次意图,而非明显细节; 不要在代码中加入代码著作信息...: 不恰当信息; 废弃注释; 冗余注释; 糟糕注释; 注释掉代码; 唯一真正好注释是你想办法不去注释: 不要有循规式注释,比如setter/getter注释; 不要添加日志式注释,比如修改时间等信息...,尽可能少设计临界区; 六、单元测试 不要怕单元测试方法名字太长或者繁琐,测试函数名称就像注释; 不要追求太高测试覆盖率,测试代码前面90%通常比后面10%花时间少; 使用最简单并且能够完整运用代码测试输入...; 类中方法越少越好,函数知道变量越少越好,类拥有的实体变量越少越好; 通过减少变量数量和让他们尽量“轻量级”来让代码更有可读性: 减少变量; 缩小变量作用域; 只一次变量更好,如常量; 最好读代码就是没有代码

61970

如何避免自己代码成为别人眼中一坨屎

: TODO 待处理问题; FIXME 已知有问题代码; HACK 不得不采用粗糙解决方案; 在注释中用精心挑选输入输出例子进行说明; 注释应该声明代码高层次意图,而非明显细节; 不要在代码中加入代码著作信息...: 不恰当信息; 废弃注释; 冗余注释; 糟糕注释; 注释掉代码; 唯一真正好注释是你想办法不去注释: 不要有循规式注释,比如setter/getter注释; 不要添加日志式注释,比如修改时间等信息...,尽可能少设计临界区; 六、单元测试 不要怕单元测试方法名字太长或者繁琐,测试函数名称就像注释; 不要追求太高测试覆盖率,测试代码前面90%通常比后面10%花时间少; 使用最简单并且能够完整运用代码测试输入...; 类中方法越少越好,函数知道变量越少越好,类拥有的实体变量越少越好; 通过减少变量数量和让他们尽量“轻量级”来让代码更有可读性: 减少变量; 缩小变量作用域; 只一次变量更好,如常量; 最好读代码就是没有代码...; 尽可能减少类和方法数量; 以上规则按重要程度排列; 无论是设计系统或者单独模块,别忘了使用大概可工作最简单方案; 整洁代码只提供一种而非多种做一件事途径,他只有尽量少依赖。

7122118

如何避免自己代码成为别人眼中一坨屎!

普通工程师堆砌代码,优秀工程师优雅代码,卓越工程师简化代码。 来源:云栖社区 | 作者:竹涧 普通工程师堆砌代码,优秀工程师优雅代码,卓越工程师简化代码。...: TODO 待处理问题; FIXME 已知有问题代码; HACK 不得不采用粗糙解决方案; 在注释中用精心挑选输入输出例子进行说明; 注释应该声明代码高层次意图,而非明显细节; 不要在代码中加入代码著作信息...: 不恰当信息; 废弃注释; 冗余注释; 糟糕注释; 注释掉代码; 唯一真正好注释是你想办法不去注释: 不要有循规式注释,比如setter/getter注释; 不要添加日志式注释,比如修改时间等信息...,尽可能少设计临界区; 六、单元测试 不要怕单元测试方法名字太长或者繁琐,测试函数名称就像注释; 不要追求太高测试覆盖率,测试代码前面90%通常比后面10%花时间少; 使用最简单并且能够完整运用代码测试输入...; 类中方法越少越好,函数知道变量越少越好,类拥有的实体变量越少越好; 通过减少变量数量和让他们尽量“轻量级”来让代码更有可读性: 减少变量; 缩小变量作用域; 只一次变量更好,如常量; 最好读代码就是没有代码

69710

如何避免自己代码成为别人眼中一坨屎!

普通工程师堆砌代码,优秀工程师优雅代码,卓越工程师简化代码。如何写出优雅整洁易懂代码是一门学问,也是软件工程实践里重要一环。...: TODO 待处理问题; FIXME 已知有问题代码; HACK 不得不采用粗糙解决方案; 在注释中用精心挑选输入输出例子进行说明; 注释应该声明代码高层次意图,而非明显细节; 不要在代码中加入代码著作信息...: 不恰当信息; 废弃注释; 冗余注释; 糟糕注释; 注释掉代码; 唯一真正好注释是你想办法不去注释: 不要有循规式注释,比如setter/getter注释; 不要添加日志式注释,比如修改时间等信息...,尽可能少设计临界区; 六、单元测试 不要怕单元测试方法名字太长或者繁琐,测试函数名称就像注释; 不要追求太高测试覆盖率,测试代码前面90%通常比后面10%花时间少; 使用最简单并且能够完整运用代码测试输入...; 类中方法越少越好,函数知道变量越少越好,类拥有的实体变量越少越好; 通过减少变量数量和让他们尽量“轻量级”来让代码更有可读性: 减少变量; 缩小变量作用域; 只一次变量更好,如常量; 最好读代码就是没有代码

52320

同样都是代码,为什么别人比你待遇好?

对于一名优秀程序员来讲,学习和思考是贯穿整个职业生涯事情。尤其是在当下日新月异的人工智能时代,越来越多程序员重视自己技能提升。...3.jpg 4 、也许,学会利用框架来高效“偷懒”才是研发效率提升关键因素 没有什么功能是无法实现,如果网上开源框架不行,就自己一个更好。 上面这句话是很多技术大牛口头禅。...我们如愿以偿做了程序员、当上了工程师,拿到了别人眼中高薪,满怀希望认为自己可以在这座城市站稳脚跟,也曾天真的认为未来一片大好。...我们都知道,程序员这条路很难,不仅要承受来自社会上各种“默认”标签,要有强大思维能力来应对各种奇葩需求,要有健康身体来应对经常加班,还要承受着外行人想象不到压力。...不是为了别人,而是为了让自己在这个行业,能够更长久地走下去。

50030

绕过JS爬虫

http://data.eastmoney.com/jgdy/tj.html       我们希望抓取js生成表格。      ...这种带有js网站抓取其实不是那么简单,基本分为那么几种方法,一种是观察页面,有的会有json数据,有的有js代码可以解析目标的url;一种是使用渲染工具;还有一种就是用工具来点击相关button,来抓取...今天我们使用是第三种。 ?       我们希望爬取是表格中数据,但是如果我们仔细看一下html代码,会发现,这其实是js生成,下面这张图是源代码截图。 ?      ...然后我们就点击第二页、第三页不断来观察究竟js代码访问了什么后台url。...接下来我们就可以用urllib来获得api背后json内容了,比如是这样: ?

14.9K20

js插件教程

;我为了方便都写到一个html中了;请把这个script标签中内容单独写在一个js文件里 //整个插件写在一个立即执行函数里;就是function(){}();函数自执行;保证里面的变量不会与外界互相影响...; //最后面的undefined可不;最好写了;保证里面再出现undefined是未定义意思;不被其他东西赋值; //好了下面是时候展现真正技术了 //function前!...号(叹号)或者;(分号)这不是写错了,为了防止那个二货js结束没有分号;而可能发生报错 /* ;function(win,doc,$,undefined){ }(window...this.num = 0;//你也可以一些其他默认东西;比如默认变量啦;方便下面调用;这里写了什么都不会报错;只是有用没用问题这行可以忽略 this.author...} //;给构造函数addHtml对象原型里添加属性(方法) addHtml.prototype = {//给函数方法;这里可能不止一个函数;你还记得你在全局里一个个function

35.1K10

讨厌别人注释,但自己也不爱?那么试试这个IDEA注释插件吧!

平时大家编程时,有没有养成良好注释习惯呢?一个好注释习惯对于代码回溯、重构,或者对于他人解读,都有着莫大帮助,但是大家编码时候有没有觉得注释会稍稍让编码慢下来一点呢?...嘿嘿,今天TJ君要给大家说就是这样一个IDEA插件,Easy Javadoc Easy Javadoc,是一款自动翻译代码内容已形成类、方法或者属性注释插件,同时他也可以进行中英文内容互相翻译,碰到一些奇奇怪怪词汇或者想起名时候...,不需要再去额外查字典点了。...我们看下实际使用效果: 小伙伴会问了,那到底他是怎么自动注释呢?...其实他就是后台自动通过翻译软件,将需要注释类、方法或者属性进行翻译然后注释,所以说小伙伴只需要将方法名字和实际效果一致,就能确保自动注释效果。

49110
领券