作者kerickuo (红框独居帅老人传说)
看板Soft_Job
标题Re: [讨论] 程式设计师,好吃技术的职业喔!
时间Sun Dec 28 09:35:45 2008
※ 引述《iincho (..)》之铭言:
: 搞软工最讨厌的就是这种只看皮相不看内涵的东西...<o>
: 以这个例子来说,如果程式错误处理做的好,那我比较倾向是分析比较完善,
: 而不是每个if後面都有加else这种鬼扯淡的说法...
倒也不算是鬼扯淡啦。
很多写程式的人有的时候会对自己的逻辑跟分析太有自信,
其实逻辑或分析能力可能没有自己以为的那麽好,
在一定程度上养成好习惯可以快速找到问题所在。
有的时候实作的问题就刚好出在自己或一群人没有考虑分析到的地方。
加上个 else 补个 debug message 顺手一下又不一定有什麽损失。
例如在下搞一个很冷门的 Embedded System (为了省空间几乎只有基本的简单kernel.. ),
而搞 Embedded System ,其实常常发生 overflow 的问题,
毕竟常常有东西是 8 bits 或 16 bits 的,
於是我就渐渐养成一定会去检查溢位的习惯。
常常被溢位搞到於是自然很重视这个检查,
要不然以前觉得只是个加减还加什麽溢位检查,根本是嗤之以鼻^-(oo)-^。
当然这是在我这家公司我才会重视这种问题啦,
因为不小心不是道个歉就算了,而是有可能出一个到很多个人命,赔不起的…
不过在大部分的场合,这种事情通常不用这麽吹毛求疵啦。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.152.16
1F:推 lgd1008:怎麽到现在, 加else还在跟严谨绑在一起? 12/28 09:56
2F:→ lgd1008:else又跟debug message 绑在一起 ... 12/28 09:58
3F:→ lgd1008:基本上严谨有很多方法可做 12/28 09:59
4F:→ lgd1008:design by contract, guard condition, mock object .... 12/28 10:03
5F:→ lgd1008:exception handling .. 等等 12/28 10:04
6F:→ lgd1008:加个 else 算哪门子的严谨? 老实说只感觉是对程式的掌握力 12/28 10:05
7F:→ lgd1008:不够,才会在程式中的每个地方都有不确定的事 12/28 10:06
8F:推 luciferii:楼上,以之前的例子来看,建议可以偶尔试试加点垃圾else 12/28 10:12
9F:→ luciferii:或许会发现PG对「程式的掌握力」倒底有多不足 12/28 10:13
10F:推 lgd1008:加垃圾else是好事? 以我来看掌握度不足才危险...举个例子 12/28 10:14
11F:→ lgd1008:程式新鲜人写的糟糕code常会有的特点, 像 12/28 10:15
12F:→ lgd1008:到处充满注解的程式, 满是 //XXX 只为了随时要 debug 12/28 10:16
13F:→ lgd1008:程式中重覆的function一堆, 重覆的检查也一堆 12/28 10:18
14F:→ lgd1008:或者程式中充满debug message, 比正常的程式还多 12/28 10:19
15F:→ lgd1008:这些特徵都是"危险"的指标, 代表新人对程式的掌握度不好 12/28 10:20
16F:→ lgd1008:我觉得应该做的,是鼓励他们去思考与掌握自己的程式 12/28 10:21
17F:→ lgd1008:而不是教他们去使用一些, 没效率但一定能解决的方法 12/28 10:22
18F:→ lgd1008:回到那些垃圾else, 你不觉得那是"不好"程式的特徵? 12/28 10:23
19F:→ lgd1008:因为"垃圾"code,不管是重覆的什麽,都是好程式所要避免的 12/28 10:25
20F:→ kerickuo:lol, I said it's a VERY SIMPLE KERNEL. lol 12/28 10:59
21F:→ kerickuo:简单来说,你说的这些东西完全不支援,那个 kernel 根本 12/28 11:00
22F:→ kerickuo:是垃圾,是该丢弃的废物,可是不巧在我这领域用很多 lol 12/28 11:00
23F:→ kerickuo:因为要把这麽多东西塞在 2mb 的空间太痛苦了, lol。 12/28 11:01
24F:→ kerickuo:连个 TLB 都没有的 os, contract 又根本不合实际开发 lol 12/28 11:03
25F:→ kerickuo:算了,大家开心就好,况且我也没说这样叫严谨,只是要避 12/28 11:03
26F:→ kerickuo:免错误在我的工作中我必须要这样处理,本来就跟严谨无关 12/28 11:04
27F:→ kerickuo:我的开发环境中没有这些东西,所以有支援的人要惜福喔:P 12/28 11:05
28F:→ kerickuo:我只能努力让我的工作不要误作动免得出人命,其他跟我无 12/28 11:07
29F:→ kerickuo:关 lol 我的产品卖到医疗跟航空管制,我不想出人命,就 12/28 11:09
30F:→ kerickuo:这样,大家开心就好。 lol 12/28 11:09
31F:推 xam:keric 你提的只是一些开发的除错技巧,并不是什麽良好的模范 12/28 11:28
32F:→ kerickuo:我并没有说我的是良好的模范啊,只是逼得不得不这样做 12/28 11:29
33F:→ kerickuo:所以我说了,大家开心就好。 lol 12/28 11:30
34F:推 luciferii:不管是注解、debug message、else和所有垃圾除错码 12/28 12:11
35F:→ luciferii:出发重点就是在於不要相信「人」的能力 12/28 12:12
36F:→ luciferii:不一定会派上用场,只是种保险作法。我不认为这是「好程 12/28 12:13
37F:→ luciferii:式所要避免」的,再熟练的人类高手,也有恍神的时候。 12/28 12:14
38F:推 lgd1008:加个debug message就可以让你的程式不会出人命? 12/28 12:31
39F:→ lgd1008:你都不觉得你这些经验,跟你的结论没什麽关连? 12/28 12:32
40F:→ kerickuo:是啊,你开心就好。 :) 12/28 12:34
41F:→ kerickuo:我什麽都没说,大家开心就好。 :D 12/28 12:35
42F:→ kerickuo:我并不想在这种地方作员工教育训练以及泄漏公司机密 XD 12/28 12:36
43F:→ kerickuo:况且这只代表我们工作的性质不一样,其实没有什麽意义。 12/28 12:38
44F:→ kerickuo:而且我只是说顺手作个 debug ,并没有说我不去作 correct 12/28 12:38
45F:→ kerickuo:反正人命是我在背负的,其他人开心就好。 :) 12/28 12:39
46F:推 lgd1008:所以结论是加else可以舒解你对於人命的压力? 12/28 12:45
47F:→ lgd1008:但其实对於程式可靠度,严谨等...并没有任何帮助? 12/28 12:46
48F:→ kerickuo:你的推论非常奇怪,恕我不回应。 :) 12/28 12:46
49F:推 neutrino:keric是对溢位的发生很小心 加else的市cheng那篇里面的 12/28 12:46
50F:→ kerickuo:希望你以後不要进来这种吹毛求疵的领域。 :) 很累的 :) 12/28 12:47
51F:→ neutrino:主管啦. 我完全认同严谨, 我只是真的不懂cheng那篇的主管 12/28 12:47
52F:→ neutrino:把严谨对应到if必加else 是如何成立的 12/28 12:48