作者w180112 ([NOOB]我超RETARD我超废 )
看板Soft_Job
标题Re: [讨论] 写三元判断式code review被打枪
时间Fri Dec 30 01:40:05 2022
这让我想到Linus本人在TED上举的linked list例子
以下借用Jserv老师的文章内容
(
https://hackmd.io/@sysprog/c-linked-list)
1. Non elegant linked list remove
https://i.imgur.com/frZ4cmO.jpg
2. Elegant version
https://i.imgur.com/JzMxI0D.jpg
第一种好读第二种更简洁效能更好
但到底哪一种比较好呢?
回到主题 code review 的其中一个原则是要好读易懂
但如果当某种进阶写法已经是team members都认为很易懂时为何不行?
※ 引述《a88241050》之铭言
: 小弟写java的
: 以前常常写三元判断式
: 就比如说
: String a;
: if(con) {
: a= "aaa";
: } else {
: a="bbb";
: }
: 这样就要占掉六行
: 所以我通常都是写
: String a= con ? "aaa" : "bbb";
: 从五行变成一行
: 在我看来简洁又方便
: 但最近给一个资深前辈code review的时候
: 他说不要用三元判断式
: 因为不好阅读
: 他工作那麽久也从来不用三元判断式的
: 而且java有很多套件都可以用来取代三元判断式
: 所以用三元判断式真的不好吗?
----
Sent from
BePTT on my iPhone 14 Pro Max
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.74.31.36 (新加坡)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1672335608.A.9B2.html
1F:推 wulouise: 我比较喜欢dummy prehead, indirect比较不直觉 12/30 02:11
2F:推 sharek: 如果你指的是team member 随时都处在第二种coding style 12/30 06:45
3F:→ sharek: 下coding 当然ok, 但我想多数人的现实还是都在第一种 12/30 06:45
4F:推 jack0204: 这是底层function不是商业逻辑,你会频繁改动的那种 12/30 09:34
5F:→ jack0204: 如果场景的确需要压出这些资源,那就是用2,像nasa 12/30 09:35
6F:推 s06yji3: 如果第二种效能明显较好我会选二。两个都不难读 12/30 09:47
7F:→ leolarrel: linus 是我偶像.但我知道他已经不是大多数人的偶像了.. 12/30 09:58
8F:→ fr75: Linus在的团队第二种难的写法也都算简单 但一般人也进不去 12/30 10:54
9F:→ fr75: 啊 12/30 10:54
10F:推 ohmylove347: 好读好维护的本质是为未来改动做准备,底层不会被改 12/30 11:29
11F:→ ohmylove347: 到的东西当然效能优先 12/30 11:29
12F:→ Merkle: 好不好读是看你team member的程度 12/30 16:15
13F:推 kurtsgm: 第一种比较好读 第二种稍微要看仔细一点点 但如果两种都 12/30 17:31
14F:→ kurtsgm: 看懂,我觉得第二种倒是比较符合一般人类现实中的做法 12/30 17:32
15F:→ kurtsgm: 两种要选的话我会选第二种 XDD 纯粹只是syntax稍微要细看 12/30 17:34
16F:→ kurtsgm: 但逻辑上更直觉 12/30 17:34
17F:→ kurtsgm: (只是那pointer的naming....indirect好像有点不太具体) 12/30 17:35
18F:推 bmiss: 第二种过一段时间再回来看,应该会觉得当时很厉害 12/31 19:40
19F:推 TWkobe5566: 效能这种事情很难说啦,如果是做产品未来重构时易懂很 01/07 09:32
20F:→ TWkobe5566: 重要。做专案就随便啦,验收付钱了事。呵 01/07 09:32