Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何让别人看不懂你的代码

如何让别人看不懂你的代码

作者头像
邹志全
发布于 2019-07-31 03:24:48
发布于 2019-07-31 03:24:48
2K00
代码可运行
举报
文章被收录于专栏:EffectiveCodingEffectiveCoding
运行总次数:0
代码可运行

先道歉,最近忙着发paper(也可能是季后赛的事儿),又一不小心拖更一个月,实在抱歉。 良好的代码风格,是一个合格程序员最起码的素质。 我们经常听说,如何让自己代码更加清晰易懂,如何写出干净漂亮的代码。 合格的变量命名规范,简明的注释,整齐的缩进等等一堆描述,但是这种东西看起来实在是尴尬,枯燥不容易接受。那么换个角度,如何让别人看不懂你的代码,如何让你的代码只有你能维护,可能更容易理解吧~

命名

获取用户上次登陆使用的设备,这个简单的名字 getUserLastTimeLoginDeviceUsed,先试试看打一句英文,这个不是最好的方式,把时态去掉效果更佳,再试着加点别的词儿 能看懂? 试试中英混合,getUserShangCiLoginSheBei,有没有感觉开始吃力了,别急,这样有点耐心还是能看出来的。 可以从英文下手,变点花样,单词首字母大写,然后随机选择某单词选取随意一个音节大写,然后再随机选择一个单词首字母不大写。 getUserTimeLoginDeViceused,到这一步,应该不太容易看懂啦 英文能做到的,中文也行吧,要不不用普通话,试试看方言? getUserShangCiLoginseBei,别人看代码的时候应该也开始看不懂啦 别人嫌名字太长的缘故,非让改。 改就改 getULTLDU,来吧哥们儿,这个够短吧~ 还是长? getA、getU、getD、b 这些呢,成了不~ 驼峰式不让用?用下划线? 试试看’’,’’这两个来区分变量~ 嫌没有自己的代码风格 可以试试看,在所有的变量前面统一加上niCaiA 另外,全局变量和局部变量,有机会重名的绝对要重名。一撸袖子就是干,尽量别使用局部变量,如果是个Java程序员,可以试试看用静态替换下,Cpp程序员可以狠狠心,创造2w个全局变量,如果起名24个字母不够用,试试英文词典,别管词义,能用就行。

注释

注释里可能需要一点社会工程学知识 有如下选择,别人看不懂代码的可能性依次增加 1、不加注释 2、加上注释,注释内容放一串所需解释代码的伪代码,再或者写一篇800字儿散文 3、写注释的时候记住,只描述操作细节,绝对不能描述功能 4、悄悄将两个注释换换位置~ 5、更新代码的时候,一定要记住别更新注释 6、写注释的时候,悄悄的撒个谎~ 再或者可以这么玩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for(int i=0;i<a.size(),i++){/*
     If(temp!=0){               *有本事
          a.add(tempA);      * 猜啊
     }else{                         * 敢不敢别高亮显示
          a.add(tempA+1);  *
     }                                 */
     tempA++;
}

函数

大约遵循以下几项原则 1、要不写一个一行代码的函数,要不就把它写到500行以上。 2、尽可能返回一个毫无描述的数组 3、删除代码中所有的断言,让debug过程尽可能指数形式的延长。 4、如果语言支持,尽情的使用’/’吧,把所有的变量全部错开行 5、支持某个功能,又默默支持若干诸如修改删除链表元素功能还未标注的函数什么的最棒了 6、函数的嵌套深度,如查一下所允许的栈深度,然后适当的缩小下就好了 7、别做任何检查和校验

缩进

统一左对齐,肯能是个不错的方法 或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for(int i=0;i<a.size(),i++){
     If(temp!=0){               
     a.add(tempA);     
     }else{                         
a.add(tempA+1); 
     }                                 
     tempA++;
}

这样也不错~

语言

如果代码写的好,啥语言都会,甚至纸带带孔都会。那么发挥的空间非常大了 能打孔解决的,绝对别上汇编。语言选择相关,均遵循这个原则。 当熟悉一个语言之后,然后又恰好看了看设计模式,可发挥的余地就更加丰富了。 实践出真知,懂没懂的先用上再说,慢慢的代码就开始变的丰富起来啦~

遗留的无用代码

遗留代码可是前辈们的沉淀,一旦发现,即使无用,马上自己想一个用处给它注释上。 可能IDE有检测功能,别慌,可以试着调用它,这样能唤醒一大片无用代码~ 最后,记住,把Author 默默删掉,循序渐进修改代码,等它们慢慢分布到整个业务系统的各个模块,别急着上来就让别人看不懂,要不很容易被重构掉的,当然啦有一个志趣相同的小伙伴就更好了,可以拉他入伙,互相学习~ 即使这样小心了,代码还是很容易被别人发现的。需要保持学习,可以试试多去看看那些未曾验证的博客,多去看看那些技术简介,冗长的技术概念。这样才更有实力也有可能去反驳那些质疑的人~

反面描述问题,希望能有所帮助~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.07.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
企业级Java实战项目推荐&基于spring boot的Java开源商城系统
一个基于spring boot的JAVA开源商城系统,是前后端分离、为生产环境多实例完全准备、数据库为b2b2c商城系统设计、拥有完整下单流程和精美设计的java开源商城系统:https://www.mall4j.com
Java程序猿
2022/01/11
1.2K0
基于SpringBoot的前后端分离商城系统
前面分享了一个基于 Python 的电商系统,很多人私信我说,有没有基于 Java 的?
业余草
2020/04/24
1.1K0
基于SpringBoot的前后端分离商城系统
一个基于spring boot开源商城
一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、拥有完整sku和下单流程的完全开源商城
程序源代码
2019/07/12
1.3K0
一个基于spring boot开源商城
一个基于SpringBoot2.X的前后端分离商城系统
一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁,为生产环境多实例完全准备,数据库为b2b2c设计,拥有完整sku和下单流程的完全开源商城。
良月柒
2020/04/26
5980
基于 SpringBoot 实现的 b2b2c 商城,附源码!
今天有事在外,把之前准备的一个 B2B2C 的电商源码项目大家推荐,大家跑起来学习学习吧!
业余草
2020/05/27
1.4K0
20.6k stars! 介绍一款完整、易于维护的开源的电商商城系统
Mall4j商城系统致力于为中小企业打造一个完整、易于维护的开源电商平台,采用当前流行的技术实现。后台管理系统包含商品管理、订单管理、运费模板、规格管理、会员管理、运营管理、内容管理、统计报表、权限管理、设置等多个模块。 项目支持小程序 + PC + H5 + APP。
IT学习日记
2024/06/25
4070
20.6k stars! 介绍一款完整、易于维护的开源的电商商城系统
35款优秀的 SpringBoot/SpringCloud 开源项目,开发脚手架,总有一款适合你!
SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序。他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整个搭建和开发过程。
程序员大彬
2024/02/26
23.1K0
35款优秀的 SpringBoot/SpringCloud 开源项目,开发脚手架,总有一款适合你!
一个微信小程序商城项目,没有比这个更适合接私活了
该项目是一个基于 java+uniapp 开发的微信小程序商城项目,完全开源,可以商用,对开发者来说,开箱即用,拿来接私活再合适不过。即便对于一个初学者,也是一个非常好的学习项目。项目功能完善,而且支持代码生成,可以减少你大量的开发工作。
终码一生
2022/04/14
6420
一个微信小程序商城项目,没有比这个更适合接私活了
这 5 个开源的能挣钱的 SpringBoot 项目,真TMD香!
不得不佩服 Spring Boot 的生态如此强大,今天我给大家推荐几款 Gitee 上优秀的后台开源版本的管理系统,小伙伴们再也不用从头到尾撸一个项目了,简直就是接私活,挣钱的利器啊。
程序员白楠楠
2020/11/20
1.1K0
分享六个经典的 SpringBoot 开源项目
不得不佩服 SpringBoot 的生态如此强大,今天给大家推荐几款优秀的后台管理系统,小伙伴们再也不用从头到尾撸一个项目了。
小柒2012
2020/09/10
1.3K0
分享六个经典的 SpringBoot 开源项目
15 个优秀开源的 Spring Boot 学习项目,一网打尽!
Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 《Spring Boot + Vue 全栈开发实战》迄今为止已经加印了 8 次,Spring Boot 的受欢迎程度可见一斑。经常有人问松哥有没有推荐的 Spring Boot 学习资料?当然有!买松哥书就对了,哈哈。除了书呢?当然就是开源项目了,今天松哥整理了 15 个优质 Spring Boot 开源项目给大家参考,希望能够帮助到正在学习 Spring Boot 的小伙伴!小伙伴简历中不知道写什么项目的或者项目没有亮点的,我只能帮你们到这了!
江南一点雨
2019/12/03
2.5K0
15 个优秀开源的 Spring Boot 学习项目,一网打尽!
开源项目 | 又是一个 java 牛逼框架!
该项目由商业级项目升级优化而来的微服务架构,采用Spring Boot 2.5 、Spring Cloud 2020 等核心技术构建,完全遵循阿里巴巴编码规范。提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台。
终码一生
2022/04/15
8220
开源项目 | 又是一个 java 牛逼框架!
能挣钱的 SpringBoot 项目,真香!
不得不佩服 Spring Boot 的生态如此强大,今天我给大家推荐几款 Gitee 上优秀的后台开源版本的管理系统,小伙伴们再也不用从头到尾撸一个项目了,简直就是接私活,挣钱的利器啊。
Leetcode名企之路
2020/10/10
6530
能挣钱的 SpringBoot 项目,真香!
讲真,这几个完整的开源Java项目能让你的能力提高一大截
hi ,大家好,我是三天打鱼,两天晒网的小六六,欢迎大家关注我的公众号:"六脉神剑的程序人生",一起学习,一起进步
用户9927510
2022/07/29
4070
讲真,这几个完整的开源Java项目能让你的能力提高一大截
12款人气开源项目推荐;工作、私活轻松搞
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
一行Java
2022/04/07
2.3K0
12款人气开源项目推荐;工作、私活轻松搞
接私活利器!一款轻量级,前后端分离的 Java 快速开发平台 | 开源项目
该项目基于Spring Boot2.1快速开发平台,其设计目标是开发迅速、学习简单、轻量级、易扩展;使用Spring Boot、Shiro、MyBatis、Redis、Bootstrap、Vue2.x等框架,包含:管理员列表、角色管理、菜单管理、定时任务、参数管理、代码生成器、日志管理、云存储、API模块(APP接口开发利器)、前后端分离等。
终码一生
2022/04/14
7270
接私活利器!一款轻量级,前后端分离的 Java 快速开发平台 | 开源项目
ApiBoot:《SpringBoot》整合组件接口服务框架落地解决方案
ApiBoot是一款基于SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成,让接口开发者完成开箱即用,不再为搭建接口框架而犯愁,从而极大的提高开发效率。
恒宇少年
2019/03/22
1.1K0
开源项目 | 一款 SpringBoot 互联网企业级开源支付系统
Jeepay是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付,支付宝,云闪付官方接口,支持聚合码支付。
终码一生
2022/04/15
6560
开源项目 | 一款 SpringBoot 互联网企业级开源支付系统
如何去参与一个开源项目
相信大家平时有空的时候,都会去逛一些开源项目吧,不知道大家有没有参与到这些开源项目中来,最近小六六第一次给人家的项目提了次PR,所以给大家分享一下提pr的步骤,我觉得这是一种很不错的一种学习方式吧,下面小六六通过一个简单的案例来告诉大家PR的流程,随便分享下我这次的PR项目。
用户9927510
2022/07/29
3850
如何去参与一个开源项目
每日开源 | 推荐几个顶级热门 SpringCloud 微服务项目,企业开发必备!
Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Spring Boot 2.4.1、Spring Cloud (2020.0.0)以及Spring Cloud Alibaba 2.2.4 相关核心组件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端采用vue-element-admin组件,Elastic Search自行集成。
终码一生
2022/04/14
1.5K0
每日开源 | 推荐几个顶级热门 SpringCloud 微服务项目,企业开发必备!
推荐阅读
相关推荐
企业级Java实战项目推荐&基于spring boot的Java开源商城系统
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验