首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
程序员读别人的代码是一种什么样的心理体验?
社区首页 >问答首页 >程序员读别人的代码是一种什么样的心理体验?

程序员读别人的代码是一种什么样的心理体验?

提问于 2021-08-04 07:32:11
回答 70关注 6查看 6.9K

我们之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难。

  • 看别人的代码觉得好烂,好想改,是不是一种病?!
  • 宁可重写,也不愿意读别人代码?!
  • 代码有好有坏,让人头疼的居多?!

那么,当作为程序员的你,读别人的代码到底是怎样一种心理体验呢?快来分享你的心得吧!

内容要求

● 文字 50 字以上(需原创,禁止转载)

奖励

回答赞同数 TOP10 的用户将有机会获得精美定制小礼品一份

评选标准

  • 回答需符合活动中所提及的要求,符合社区规范
  • 请遵守社区规范,如有违规行为,一经发现即取消参与资格

评选结果 & 公示

腾讯云开发者社区小助手 8 月 13 日在获奖评论下通知答主

已邀请
等1人回答
|
|
|
请输入回答

回答 70

孙叫兽

精选回答

修改于 2021-08-05 03:25:01

1. 居然能TM这么写?

2. 居然能TM这么写!

相信好多程序员朋友们都会面临这样一个问题,那就是可能要阅读其他人的代码,好多人内心其实都是拒绝的,很少有人在阅读其他人代码时产生愉悦的感觉,大多数都是觉得痛苦,甚至边看边骂。

  • 我勒个去这个好牛逼怎么做到的?我研究一下。 (若干小时后) 应该大概是这样吧……
  • 这个根本不用这么麻烦嘛,看我怎么把它弄好。 (若干小时后) 难怪那时候要这样写……原来是这样…… (回滚到修改之前的状态)
  • 这个谁写的这么屎……让我看看…… git blame(发现是自己写的) 嗯这个还是能用的(严肃)。

接下来咱们就来主要分析一下心理体验。

首先写自己的代码时自己是一个创造者的角色,自己想要干什么是明确的,代码的设计是按照自己的习惯去设计的,实现过程都是按照自己的思维习惯去实现,完全随着自己的性子,自己的风格去走,因此写代码时会让人产生愉悦感,看到一行行的代码积累,并形成了自己的产品,并能运行看到想要的结果是十分有成就感的一件事情了,而读代码就不一样了,读代码时自己是一个挖掘者的角色,因为要看的代码是做什么的,想实现什么功能事先是不知道的,在未知事情之前人们都有一种紧张恐慌的心情,随着代码量的增加,这种紧张和恐慌就越强烈。这就是好多人读代码时觉得痛苦的原因。

每个人都有自己的思维习惯,在自己的思维习惯里取思考问题就是停留在自己的思维舒适区,是舒适的。如果用另外一种不属于自己的思维去思考问题,好多人都是难以做到。看别人的代码就是这样,好多人在看别人的代码时都是拿着自己的思维习惯去看别人的代码,如果这个人的思维习惯与你相似,那么你看他的代码还有可能相对轻松一点,如果他的思维习惯与你差异很大,那么你看他的代码一定是痛苦的,在看代码的过程就是两种思维方式的较量,两种思维方式在你的大脑里在斗争,思维方式差异越大,就斗争的越厉害,读代码者就表现的越痛苦。

总结,以一种平静的心态去读别人的代码,然后就是把自己从创造者角色给拉出来,做一个挖掘者,梳理者,以侦探的姿态去读别人的代码,再然后就是放空自己的固有思维去读别人的代码,坚持做到这几点去读别人的代码,长时间下来,你会发现,不但了解到更多人的思维方式,从中学习了一些优秀的思维方式,而且读别人的代码会变得愉悦起来,而不是痛苦的感觉。

shaun

修改于 2021-08-05 03:24:37

以下案例为反面教材,大家不要模仿∠( ᐛ 」∠)_

我接手了这个项目,发现整个系统对外交互的接口就这一个orderController(里面不止订单维度的接口。。。)

它果然幸不辱命2370行代码。(我看不下去了就新增了一个PartnerController,希望我走后controller这个文件夹里面能多一些成员。)

槽点太多,代码太深估计各位看着我debug截图也费头发,所以挑一个简单代码规范来说

测试通过就能上线,冲冲冲!
测试通过就能上线,冲冲冲!
再插播一个吐槽重复代码太多,业务代码里面有这个,Utils里面也有这个,哎,我就不用,我就是玩,我就要自己重复造轮子
爷傲奈我何  ¯\_(ツ)_/¯
爷傲奈我何 ¯\_(ツ)_/¯

插播上面吐槽:重复代码太多,业务代码里面有这个,Utils里面也有这个,哎,我就不用,我就是玩,我就要自己造

无用代码做的非常好,懂得注释掉,不像有些地方没有用的代码还在那里放着,也不知道到底有,有没有用

_(´ཀ`」 ∠)__
_(´ཀ`」 ∠)__

还有些麻烦的写不出来!

大家上次还嘲笑我芝麻糊+奶粉,我最近还要买六个核桃补补脑

阿策小和尚

修改于 2021-08-06 01:42:25

实事求是,读别人代码一般有两个极端:

一种是感觉写的非常糟糕,并不一定是逻辑不对,而是各种奇奇怪怪的换行空格,命名规范和一个长达200行代码的方法没有一句注释,甚至是一个判断里面有5~6个(++i),读着真的是非常不舒服啊,尤其是一大片的空白换行,真的是要逼死强迫症啊;

另一种是感觉写的非常好的,一般都是经过很长的技术沉淀的大佬,方法写的很简洁,逻辑也非常清楚,注释不一定要非常多,但关键点的一两行注释有一种顿悟的感觉,读这些代码真的如沐浴春风啊,和尚强烈建议读一些Google的源码,大部分写的都非常好;

不管是糟糕的代码还是优秀的代码,不出Bug的代码才是好代码,和尚陪大家一起学习,争取向好代码进步;

最后还是希望天下无Bug!!!

和开发者交流更多问题细节吧,去 写回答
相关文章
读别人的代码,是一种怎样的心情?
如图所示:
养码场
2018/08/13
3510
阅读别人的代码,是一种怎样的体验
“在座的各位都是垃圾,小丑竟是我自己” ——这是我刚刚参加工作时阅读同事代码的感受。
阿Q说代码
2022/05/30
2900
阅读别人的代码,是一种怎样的体验
和程序员谈恋爱是一种什么样的神仙体验?
最近小N和朋友们聊起程序员的话题,发现大家对程序员的评价是两极分化:一部分人认为程序员邋遢不浪漫不适合当老公;一部分人认为程序员是智慧与浪漫的结合体,也是理想的人生伴侣。小N在互联网公司工作,长期跟程序员打交道,今天就给大家说说程序员当男朋友有!多!好!(文章内有一波狗粮~) “男朋友等于AI机器人” 小N有个姐妹的男朋友是程序员,有一天她突然一脸严肃的对我说: “我怀疑我的男朋友是个AI机器人!” “哈?” “什么电脑问题他都能够帮我解决。而且哦~他好像和机器人一样会进化!犯过的错误指出来后就立马改正
腾讯NEXT学位
2019/12/05
1.5K0
和程序员谈恋爱是一种什么样的神仙体验?
在大公司写代码是一种什么样的体验?
从事嵌入式开发多年,从事软件开发前后经历了四家公司,有跨国公司外企,有中型私企,有大型的互联网公司,有初创公司,这些都亲身经历过,带给的也是完全不一样的感觉,但就写代码而论,在外企可能对于代码的质量把控更加严格一些,毕竟周围人的技术能力水平相对高一些,大家的编码规范也会更高,所以不同性质的公司对待代码的也不太一样,也不是说所有的大公司程序员写出的代码就一定是最高的,主要还是和开发具体环境有关。
程序员互动联盟
2019/05/17
1K0
在大公司写代码是一种什么样的体验?
前端-学习JavaScript是一种什么样的体验?
嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 Web 编程,听说 Web 技术已经发生了一些变化。听说你是这里对新技术最了解的 Web 开发工程师?
grain先森
2019/03/29
1.1K0
给顶级开源项目 Spring Boot 贡献代码是一种什么样的体验?
Spring Boot的默认日志框架一直是 Logback,支持的很好。而且针对Logback,Spring Boot还提供了一个扩展功能 - <springProfile>,这个标签可以在Logback的XML配置文件中使用,用于配合Spring的profile来区分环境,非常方便。
IT大咖说
2021/04/23
7540
给顶级开源项目 Spring Boot 贡献代码是一种什么样的体验?
用HPS游戏充值是一种什么样的体验?
Hyper Play 游戏生态平台在即将上线的游戏应用中,可以实现游戏充值、道具兑换等功能。随着Hyper Play游戏生态平台的开拓 ,应用场景也会不断扩大。 在Hyper Play 游戏生态平台中为什么要用HPS充值游戏、兑换道具?它的优点在哪? 可能不少用户还有疑问。在此,浅谈下HPS为何在应用中有不可或缺的应用价值。 它是流通的血液,也是链接一切的“一号通” 现有游戏行业中,游戏代币的流通性较差,充值有很大局限性;对于玩家而言,账号上的交易安全也难以保证。用区块链实现真正意义上的“一号通”,是目前H
企鹅号小编
2018/01/17
9890
用HPS游戏充值是一种什么样的体验?
改和看别人的代码是一种什么感受
工作里面可能会沉淀下来很多的东西,比如文档,代码/脚本,或者图片,甚至你留下的趣事或者“案底”。 对于修改代码,我很多年前就体验过一次,是修改自己写的代码,记得刚毕业的时候写了一个小的项目,是使用Java的Swing技术实现的,能够对一个表格做数据的增删改查。当时写得真是昏天暗地,坐地铁回家的时候都有一种头重脚轻的感觉。这仅仅是一个开发前的纯技术练习而已。写了一周的样子,把代码推给自己的导师来看,导师从各种角度提出了很多的问题,有的问题确实是硬伤,有的问题感觉是理解的角度不同,所以带着半推半就的态度开
jeanron100
2018/04/17
1K0
改和看别人的代码是一种什么感受
用C#写接口是一种什么样的体验
长这么大,好像看到过的数据收发格式不外乎这几种,像微信用的是XML格式的文件进行数据的交互,然后当下开发用的最多的还是JSON格式,普普通通的在线卑微,那只有文本了,哈哈。
江涛学编程
2020/06/19
2.1K0
用C#写接口是一种什么样的体验
玩VR无人机是一种什么样的体验?
现在,虚拟现实、增强现实和无人机可以说是比较热门的科技产品了。其中无人机更是受到了越来越多普通用的欢迎。 不过目前市面上大部分的无人机,体积都不算小巧。虽然像GoPro和大疆这样的厂商也推出了一些折叠
机器人网
2018/04/25
1.5K0
玩VR无人机是一种什么样的体验?
深度学习中数据集很小是一种什么样的体验
今天提一个比较轻松的话题,简单探讨数据集大小对深度学习训练的影响。 不知道大家有没有看过这篇文章:Don’t use deep learning your data isn’t that big
老潘
2018/06/06
6.2K0
深度学习中数据集很小是一种什么样的体验
参加数据挖掘类竞赛是一种什么样的体验?
随着天池穿衣搭配推荐比赛的结束,我也该暂且退出竞赛江湖,一心一意搞科研了。今年共参加了3场公开比赛,成绩虽不是特别好,但也还说的过去,在搞比赛上面花费了不少时间和精力,耽误了不少事。如果有一天问自己这么辛苦玩这些和毕业要求无关的事值得吗?还是不自找麻烦纠结这些问题吧,呵呵,正道是——满纸荒唐言,一把辛酸泪;都云作者痴,谁解其中味。 做竞赛有哪些好处? 让你100%清楚哪些数据挖掘的算法在实际应用中最有效。有效包括效率和性能。很多人往往看了几章data mining的教程,就以为知道了数据挖掘是怎么一回事了。
机器学习AI算法工程
2018/03/13
1.1K0
参加数据挖掘类竞赛是一种什么样的体验?
参加万人产品经理大会,是一种什么样的体验?
5月8日,由人人都是产品经理和腾讯大讲堂共同举办的2016中国产品经理大会-广州站在广州中心皇冠假日酒店举行。 来自不同领域的产品经理、CEO、运营、程序…… 齐聚一堂,相约2016中国产品经理大会 经过两天的回味,大家对于嘉宾的分享领悟了几分? 即使还有点迷糊没关系,让我们先来一起回顾下大会当天的盛况! 趁人还没来齐,先来看看宽敞大气的场地 (这可是人人都是产品经理数十位美眉们辛苦布置的成果) 大会当天,签到处的通道,早早就挤满了人 700多张座位,咻的一下人就满啦~ 每位小伙伴都翘首以待
腾讯大讲堂
2018/02/13
9520
参加万人产品经理大会,是一种什么样的体验?
宋可为:做二十年开源,是一种什么样的体验?
坚持做一件事情做了二十年,是一种什么样的体验?二十年来,宋可为为开源贡献了代码、付出了青春,也收获了友情、经历了成长。在开源路上,他遇到了哪些风景?他对开源操作系统、开源社区和开源生态是如何理解的?腾源会 WeOpen Talk 栏目本期对话嘉宾——北京初心使命软件有限公司总经理、北京开源创新委员会常务副主任秘书长、中国开源软件推进联盟副秘书长宋可为。以下为他的分享: 一 开源路,一走就是二十年 1 辗转多家公司,开源梦一直未能实现 我的开源路起源于 2000 年,那年我加入了一家台资企业,他们的教育信息
腾源会
2022/03/10
7480
什么样的代码是好代码?
关于什么是好代码,软件行业烂大街的名词一大堆,什么高内聚、低耦合、可复用、可扩展、健壮性等等。也有所谓设计6原则—SOLID:
梁规晓
2019/09/29
1.4K0
什么样的代码是好代码?
使用“不用写代码的IDE”是一种怎样的体验?
可能有些人还不知道我指的是啥,以一款今年比较流行的全自动软件开发平台为例,所谓「全自动」,就是你在开发一个项目时,不需要你写代码,只需要你画好对应的逻辑流程图,平台便可以自动帮你生成对应的代码。
帅地
2021/07/06
4340
使用“不用写代码的IDE”是一种怎样的体验?
什么样的代码是好代码?
即Single Responsibility (单一职责),Open Close(开闭),Liskov Substitution(里氏替换),Interface Segregation(接口隔离),Dependency Inversion(依赖反转)
NaughtyCat
2020/10/09
1.4K0
什么样的代码是好代码?
身边有个漂亮女程序员是种什么样的体验?
企鹅号小编
2018/01/05
2.5K1
身边有个漂亮女程序员是种什么样的体验?
在央企当程序员是一种怎样的体验?
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/03/28
2850
在央企当程序员是一种怎样的体验
大家好,关于职场,之前分享过很多不同领域的工作感悟: 在制造业大厂当程序员是什么感受? 在研究所工作是什么体验? 从“部队程序员”到“大厂程序员”的不同体验? 银行科技到底怎么样?我曾经的四年告诉你 ! 阿里P7 or 副处级干部,怎么选? 今天给大家分享一段一位朋友的央企工作经历。希望对于观望工作机会的小伙伴,有些参考~ 以下内容来源:zhihu.com/question/276681361/answer/2134441878,作者:echo Liu 我校招加入了某垄断央企,在里面从事研发工程师的工作。下
程序猿DD
2022/04/07
4790

相似问题

身边有个女程序员是什么样的体验?

91.2K

我的新站为什么是别人用过的?

4322

【有奖问答】程序员的电脑桌面是什么样的?(已完结)

13674

我域名注册成功,为什么显示域名信息是别人的?

1422

可以帮忙找个心理测验小程序代码嗎?

0383
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
到家集团 | 技术VP擅长5个领域
web前端擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文