Soft_Job 板


LINE

※ 引述《idleidle (赚大钱=看对&下大注&抱住)》之铭言: : 如果没加else一定是没被搞过 : 我一定会在else里面加例外回报的程式码 听起来有点怪.... 如果是"认为condition永远不会跑到else" 那就不该用if 该用assert 或者用try&catch 如果if是用来branch, 程式原本逻辑是如下这种 if(condition) { xxx(); } yyy(); 那麽, 一定要加上else的话, 那到底是要 if(condition) { xxx(); yyy(); }else { yyy(); } 还是 if(condition) { xxx(); }else { } yyy(); 效果相同, 出题者到底想要哪个呢? 两者都反而把程式的阅读性变差, 行数也拉长了不是吗? coding style 有些规定大家都会同意, 例如"不要滥用goto", 也有些规定只要在同一家公司或同一个平台里面约定一致就好, 例如"如何缩排", "if或else之後的{要放在同一行或是隔行"等等. 我觉得"if後面要有else"就是属於後面那种. 有必要在找人的时候就要求对方的coding style和自己完全相同吗? : 然後再加上自订的编号 : 加这几行不花几分钟 : 但这几行可能在未来 : 节省你几小时的debug时间!! : 如果是写过硬体语言的 : 应该会习惯加上else吧 : 不加else会有什麽产生? : 科科科 : ※ 引述《cheng1989 (cheng1989)》之铭言: : : 跟我不久前去应徵过的一家公司一样, 不会是同家吧?(凯x智慧) : : 那家公司在礼拜五跟我约隔天面试(礼拜六还上班...头皮发麻..) : : 隔天我如期赴约, 结果一进去, : : 老板就拿了张试题要我填, 不多, 好像才四题 : : 第一题就是要我回答某支jsp的code有没有问题? 能再加强什麽? : : 他接着就开了一个网页, 按右键检视原始档给我看, : : 说就是这个web page : : 看看有没有问题, 有什麽想法就把它写下来~ : : 然後, 天兵的我过了五分钟後: : : 「....小姐, 我有问题」没错, 现场还有一位员工在那里加班 : : 正妹走过来问我有何问题? : : 我说经理要我看看这页的code有什麽问题 : : ...可是它是html档欵...Orz : : (目小的我撑大眼睛看了5分钟後总算肯定地告诉正妹, 但其实我是以为经理会再 : : 走过来开code给我看啦~) : : 正妹说, 喔, 那我去帮你问一下经理喔! : : 我跟在正妹後面走到经理位置上.... : : ZZZzzzzz : : 正妹:「经理睡着了....」我完全能理解, 这家公司真的很操呢! : : 後来正妹就找出jsp code让我作答, 总算完成了我的第一道题目 : : 因为是问我个人看法, 所以没有标准答案, : : 写了几个我认为的问题之後, 接着再填写其它试题, 交卷. : : 那位经理人还不错, 看了我的答案之後告诉我说, : : 其实那页的code有两个大问题, 但我没有答出来, : : 一个是它只有if : : 很多个if来判断条件成立时要执行的动作 : : 却没有else : : 这意味着, : : 写程式的人很有自信一定会有其中一个条件会成立 : : 或都不成立就什麽都不用做 : : 所以没有else : : 但他认为这是最大的问题, : : 万一发生意料外的事 : : 很可能就会异常 : : 他还拿cobol举例, 说cobol就是每个if都要搭else才比较保险比较稳定(me: ????) : : 另一个问题, 好像是这些code最开始没有先做xx判断 : : 那个xx是什麽? 对不起我忘了Orz : : 好像是类似要处理的资料, 是否为null, 或值为0吗? : : 这个没先判断就开始处理资料了 : : 大概就这两个问题是他认为最重要的 : : 不过後来有被录取耶~ 但我没兴趣做稽核, 就没去了 : : 倒是我认为, 无论出这种考题的用意何在, : : 都可以努力把自己的想法表达出来, : : 即使回答的不是对方想听的答案, : : 至少也让他知道我的程度到那里, 懂哪些东西 : : 绝对比交白卷好 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.226.5 ※ 编辑: neutrino 来自: 220.136.226.5 (12/27 20:23)
1F:推 luciferii:以这个例子来说,效果不同。 12/27 20:37
2F:→ luciferii:例如你觉得某结果应该会 mathc -> xxx() -> yyy() 12/27 20:38
3F:→ luciferii:但是却只看到yyy(),就无法判定是没match,还是xxx()出错 12/27 20:39
4F:→ luciferii:加个 else { print something }等,会加快debug速度 12/27 20:40
5F:→ luciferii:回到原PO的主管例子,应该也是范例程式码没作防错处理吧 12/27 20:41
6F:→ neutrino:那在if的{}里面加一行print debug message就行了... 12/27 20:42
7F:→ neutrino:加在if里的xxx(); 之前 12/27 20:42
8F:→ neutrino:这样作决定点不在於if 有没有 else 而在於 是否处理例外? 12/27 20:47
9F:→ neutrino:是否加上适当的除错讯息? 是否有隐含视作理所当然成立的 12/27 20:48
10F:→ neutrino:条件却没有assertion? 12/27 20:48
11F:→ neutrino:不知道原po看的程式码内容, 无法判断,单看"if没配else"我 12/27 20:49
12F:→ neutrino:认为没有定论 12/27 20:50
13F:推 wa120:如果今天写了八个条件判断if...else if...else if... 12/27 23:25
14F:→ wa120:最後面加个else比较保险... 12/27 23:26
15F:推 hougzou:看情况!像if(a==null){return;}判断是否继续就不用else 12/27 23:52
16F:推 luciferii:楼上,如果程式里有多处这种判断,还是加一下好 12/28 00:10
17F:→ luciferii:才知道return发生在何时,或可能都不是,是发生例外时? 12/28 00:11
18F:推 lgd1008:听起来还是很奇怪, 怎麽会有人程式这样子写? 12/28 00:17
19F:→ lgd1008:如果在一个检查input的function里, by case去执行程式跟 12/28 00:17
20F:→ lgd1008:秀出input错误的讯息那很正常, 但怎麽可能全部都检查 12/28 00:18
21F:→ lgd1008:举个例来说 A 呼叫 B 呼叫 C 呼叫 D 12/28 00:19
22F:→ lgd1008:在 A 里检查算正常,可是到了 B, C, D...还在检查干嘛? 12/28 00:19
23F:→ lgd1008:通常都是早在A在确定输入正确, B, C, D完全不检查 12/28 00:20
24F:→ lgd1008:就算写了 else 也100% 执行不到 12/28 00:21
25F:→ lgd1008:那为何补上 else 会成为一种良好的习惯? 就令人十分费解.. 12/28 00:22
26F:推 joy830:都可以拉!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 12/28 00:29
27F:→ luciferii:楼楼上,要这样写的前提是, D只会被C呼叫,C只会被B呼叫 12/28 01:58
28F:→ luciferii:而B只会被A呼叫。而且要规定来B,C,D不可被其他人呼叫 12/28 01:59
29F:→ luciferii: ^未来 12/28 01:59
30F:推 a2975313:推coding style 12/28 02:31
31F:推 TonyQ:虽然不认为补上else 是「一定必要」,不过认同每个支线都要 12/28 02:44
32F:→ TonyQ:做处理的态度。身为Coder就要掌握这条路径上的每一个可能性. 12/28 02:45
33F:→ TonyQ:不然费尽千辛万苦把程式模组化就失去其意义了. 12/28 02:46
34F:→ minstrelsy:支线处理很重要 但并不是用了else就能天下太平 12/28 03:14
35F:→ minstrelsy:完全不用else不能算是很好的习惯 但凡事都非else不可 12/28 03:16
36F:→ minstrelsy:只是让人觉得矫枉过正 12/28 03:16
37F:推 realmeat:讨论到这个已经到了有点无聊的地步了 12/28 08:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP