看别人的代码的时候各位是什么感受?

是这样?

还是这样?

为什么我们会有这样的感受呢?

这个问题不急回答,大家可以想一下你一般在动手编码之前会比较重点关注那些事情呢?

是优雅美观的代码?言简意赅的注解,还是具有良好扩展性的架构?亦或是良好的编码习惯和风格。

按时交付

这里的意思不是说为了能够按时交付就不注重产品质量了啊。只有在保证项目质量并且按期交付的前提下再去考虑代码的整洁性和后期的扩展性。

大家可以再往深处想一下,在相同的时间内要完成固定任务量的Task,你最应该考虑的问题是什么?

肯定是在保证质量的前提下如期交付才是你最需要考虑的!

所以一般大家都会按照自己的第一思路去构建程序,然后在此基础上继续延展。通常情况下,他们是不愿意花太多的时间去考虑是否还有更优秀的答案,因为按期交付对他们来说是当下最重要的任务。

可以接受我的代码不那么优秀,但是不可以接受延期交付。

所以呢就会产生一些或许后来接手的人根本看不懂的代码。例如代码冗余啦,没有注解啦,不具有良好的扩展行啦等等问题。

所以呢我们为了按时交付手里的项目,这样做也是没有办法。但是如果你是为了让这个项目以后的可持续与发展,那么就要把整体的架构放在首位了。

不是每个人都会懂你的style

一万个鸡蛋也没有完全相同的个两个,每个人都有每个人的做事风格和编码习惯,所以努力去向一些common的东西靠拢。

例如定义变量的时候,一定要形成良好的编码习惯,不仅是为了现在coding的你,更是为了和你合作或者是接手你的项目的人。不要试图去写写更多的注释为你的变量做解释,要知道,代码本身就是最好的注释。不要写代码的时候只有你和上帝知道它的意思,过上三五个月甚至于更久之后只有上帝知道它的意思了。

其实就想强调一点,良好的编码习惯很重要,努力做到见名知意。在这个基础之上再加上自己的注解,这样一来不管是看的人,还是写的人都很轻松地。

代码分工不明确

一个简单方法中夹杂着许多种功能,让人看了之后很难说出这个方法到底是实现哪些功能的,看不懂,更加不敢轻易去改动。

想要破除这种局面,必须在实现功能前先设计好代码

最好是面向对象的方式编程,不论是java还是Python都能很好的应用面向对象的方式进行编程,设计好文件名,类名,以及方法名,不论是文件名,还是类名,方法名都要做到见名知意,要用标准的英文去表示,需要用多个英文表示就用驼峰标识来表达。让人看上去结构一目了然,代码看上去让人赏心悦目。

代码注释是对读取代码有着非常好的辅助作用,是其他人能够快速的了解代码的功能,同时对自己以后回头来看自己的代码也是十分有帮助的。没有注释的代码就像深夜车灯坏了的汽车一样,虽然能行驶,但是你敢快开么?

不要写过长的方法

每个方法最好不要超过500行代码,如果过长了,可以考虑该方法的功能点是否可以再次拆分,最好是一个方法就实现单一一个功能,这样的话方法的复用率也会提高的。

不要写太“牛逼”的代码

这里的牛逼指的不是功能的牛逼,而是同样的功能用的是非常个性的代码,喜欢写一些别人看不懂的代码,他认为这样才能显示出自己的“高水平”,这样就不是高水平了,只能说代码的可读性太差了,我们写代码的时候就要写那种傻瓜式代码,也就是说让很傻的程序员都能看懂,"傻瓜式代码" != "低性能代码”哈,这一点要毋庸置疑的。只是为了方便写代码的人更是为了看代码的人。

一定要CodingReview

一方面可以让你明确Coding规则,可以帮助你的项目很顺利的开展。如果团队中项目初期没有明确Coding规则, 过程中大部分开发人员对规范类问题直接无视.

CodeReview运作一段时间后代码中依然存在命名不规范,可读性较差等问题,直接影响项目的完成进度和后期的扩展性。

另一方面呢可以对开发中遇到的问题持续透明,持续优化。简单来说呢就是在某一个阶段内对CodeReview运作中遇到的问题进行分析,总结问题,解决问题,持续优化。这样就会对release之后的项目有一个可持续化发展加了一重保障。

不要觉得CodingReview可有可无,甚至认为它是浪费时间,从长远来看,它可以为你节省更多的时间。

为了让这篇文章能给读者带来一定帮助,笔者反复进行了review和相应的修改操作,且不论最终目的有没有达到,至少态度和行为上都已努力做到最好。希望大家会喜欢!!

扫码关注小编,让我们一起不断拥抱新的技术和变化,提升自己的核心技能,增强自身的不可替代性。拥抱高薪,不负2020!!

如何让别人看不懂java代码_为什么你写的代码别人看不懂?相关推荐

  1. 手机能写python代码_用手机写Python代码!可以随时随地学Python!

    我们翻开软件后首要输入命令 apt update更新一下可以装置的软件,接着输入apt list 就可以看到如下的效果 然后就可以输入apt install python 如果要装置Python2就 ...

  2. pycharm写python代码_使用pycharm写python代码的一些提高效率的技巧(持续更新)-Go语言中文社区...

    这篇博客主要是用来记录自己在学习pycharm时发现的一些能够提高编写python代码效率的小技巧. 1.问题:在代码很多的情况下,调用函数时想看看函数的参数以及函数内容,按ctrl+鼠标左键虽然进入 ...

  3. java入职写不出代码_各位程序员是怎么度过看懂代码但写不出来的时期?

    说实话,我自己就没经历过这样的时期. 说看得懂代码的,大概是很少看开源代码,想看懂不仅自己水平要过硬,还要花挺大的精力把前前后后的东西都做充分的研究. 我自己总是会有自己写一个功能很有思路,但是搞懂别 ...

  4. 优秀的java代码_像这样写,Java菜鸟也能写出牛逼的代码

    场景一 有时候我们会遇到一个方法就是占满了整个屏幕,其中各种if else 判断 ,for 循环嵌套,时不时来穿插着各种a b c参数,让人看得实在是眼花缭乱.让后面维护的人望而却步,也实在的代码块后 ...

  5. ms查约束具体代码_程序员写代码之前应该做的5件事,看完编程效率瞬间提升

    作者:borisyang,腾讯 WXG 应用开发工程师 作为程序员,刚刚开始学会写代码,常常是接过需求就开始撸代码.有时候发现,写完代码,需求变了.更多时候,觉得写业务代码枯燥无聊,没有技术含量.另外 ...

  6. java词频统计简单带代码_简单的词频统计代码实现(PDF格式)

    周末抽空帮同学论文写了一段统计词频的代码,做个简单总结.出于职业病,代码使用Springboot+Maven搭建,面向抽象编程,并通过web请求控制执行. 依赖配置 org.springframewo ...

  7. idea看更改过的代码_就是你把所有代码全写在一个类里的?

    来源 | https://urlify.cn/6jQRN3 最近,在对已有项目进行扩展的时候,发现要改动的一个类它长900行,开放了近40个public接口,我流着泪把它给改完了. 为了防止这样的惨剧 ...

  8. 原生 遍历_前端原生写js代码还是用vue等框架写项目?

    其实对于初入前端的同学来说,我个人推荐写原生.因为扎实的js基础是通过写原生代码逐步理解js的数据类型,语法,闭包,原型链,继承等知识,只有在项目中主动应用这些js的基本知识,才能逐步提高你的编码能力 ...

  9. python定时开关机的代码_用python写一个windows下的定时关机脚本(推荐)

    由于本人经常使用笔记本共享WiFi,但是又不想笔记本开机一夜(为了低碳环保嘛 ~_~!),所以每次都要用使用DOS命令关机,感觉好麻烦.正好最近在学习Python,于是决定用python写一个定时关机 ...

  10. vscode中怎样格式化js代码_如何在Visual Studio代码(VSCode)中格式化代码

    回答(30) 2 years ago 对于那些想要自定义要格式化的JavaScript文件的人,可以使用 JSfiles 属性上的任何扩展名同样适用于HTML . { "beautify.o ...

最新文章

  1. 【ICML2021】具有持续进化策略的展开计算图的无偏梯度估计
  2. sql server T-SQL 基础
  3. linux java平台,如何下载和安装用于 Linux 平台的 Java
  4. Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码
  5. 理解SQL SERVER中非聚集索引的覆盖,连接,交叉和过滤
  6. 为什么说DevOps的必然趋势是BizDevOps?
  7. 腾讯成本优化黑科技:整机CPU利用率最高提升至90%
  8. android vcard解析代码,Android使用vcard文件的方法简单实例
  9. mysql主从复制时间配置_MySQL主从复制配置
  10. MagicRecord For IOS API深层解析
  11. 简单的路由器设置下一条(小白像)
  12. wedo+scratch第一次上课
  13. Python之有趣的小程序
  14. 《“桥板灯”的来历》——游城“明经胡氏”
  15. 中文转换成NCR编码(utf-8 16进制)
  16. 浅谈基于UDS的ECU刷写方案(Bootloader刷新)
  17. 推荐2个,免费快速生成logo的在线工具平台。
  18. python中not的用法
  19. SystemUI启动流程
  20. 英语老师不想让你知道的一些网站 , 想学英语的就进

热门文章

  1. google 搜索跳转至yahoo
  2. 【5G NR】工作频段和信道安排
  3. 企业微信客户端web页面调试
  4. 降压恒流 LED 驱动器
  5. 拆机芯片DIY一个STM32F401CCU6核心板
  6. 国内各大安卓应用市场的不同ASO优化点
  7. css代码中的ul和li是什么意思呢
  8. android 剪贴板增强工具,ClipX - 超级实用的小巧剪贴板增强工具
  9. 谷歌SEO之如何选择关键词(2021更新教程)
  10. 第一阶段✦第一章☞信息化知识