作者tkcn (小安)
看板Programming
标题Re: [请益] 程式该怎麽越写越好呢
时间Mon Sep 7 11:09:21 2009
以我目前的程式功力,
老实说我不觉得自己有能力加入这个话题,
影像增强我也完全不了解,
只能凭猜测去理解。
下面这是我个人的一些疑问,
如果有什麽谬误还请多包涵。
※ 引述《H45 (!H45)》之铭言:
: 程式码非常清楚地把程式做的事情写明白了,但是外行人没做过影像增强根本不懂为什
: 麽要做这些事情。
: 首先,为什麽要建立 window? window 是什麽? 做什麽用的? 看实作细节可能会懂
: 但是还不如直接在上面写些注解
: // window 是 image 的某一小块区域,用来圈选增强单一像素所需要考虑的范围
: 再来,为什麽要收集 pixels?
: // 收集 pixels 了解像素之间的关系,动态且适应性地决定每个像素对增强结果的
: // 重要性。
: 然後,为什麽要计算 difference? 为什麽要推论 similarity?
: 为什麽要做 convolution? 整个流程到底试图完成什麽事情? 其目的是什麽?
: 这些事情并不是以变数命名或是函数命名就可以轻松交代的
假设是个外行人看到这样的 code,
我觉得他需要的不是从 code 去学到这些知识,
而是学完了相关背景知识才来看这些 code。
程式的 reuse 是一个重要的议题,
难道注解就不能也用 reuse 的概念吗?
也许每一个影像增强程式都需要用到上述五行程式码,
难道每一份我都应该做一个完整的说明?
我甚至认为在注解中放个参考书目,甚至是个教学文件网址可能会更好。
: 仍然有很多事情,像是设计样式、多绪陷阱、演算法注记、TODO、FIXME、……等
: 还是得靠注解和文件帮忙补完
: 如果有那种完全没有注解与说明文件的程式码维护两年以上的
: 请务必告知我。
我只知道一点点的设计模式,
根据我的认知,
各种设计模式似乎也有它们对应程式命名惯例,
例如看到 xxxxFactory,
就可以猜到这可能是用了 Simple Factory...等。
虽然不懂 design pattern 的人,
就无法从 xxxxFactory 判断出这是 simple factory,
可是同样的,我认为不懂 design pattern 的人,
应该是先透过其他方式学习 design pattern,
才回来阅读 "使用了 design pattern 的 code"。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.18.201
1F:推 willhunting:背景知识因人而异 要求不完的 160.39.16.13 09/07 11:34
2F:→ willhunting:与其要求别人都先去了解已经在你脑袋 160.39.16.13 09/07 11:35
3F:→ willhunting:很久的东西还不如好好写写该写的注解 160.39.16.13 09/07 11:36
4F:推 ykjiang:回楼上的,你没想过注解写不完的情况吗? 218.167.64.111 09/07 12:11
5F:→ ykjiang:又不是教科书。故有标准的东西点到即可 218.167.64.111 09/07 12:13
6F:推 H45:tkcn: 你的理解没有什麽谬误 :D122.117.172.148 09/07 16:09
7F:推 wa120:认同你说得 专业领域还是需要背景知识 140.133.9.148 09/07 17:46
8F:→ wa120:如果是一个复杂的演算法 要解释的注解搞不好 140.133.9.148 09/07 17:47
9F:→ wa120:要几百行 专业领域一个专有名词就搞定 140.133.9.148 09/07 17:47
10F:→ wa120:而且那个专有名词还可以当作function name 140.133.9.148 09/07 17:48
11F:→ ksirf:推W120的观念,程式注解真的很难写的很详细 114.43.184.153 09/08 00:02
12F:→ ksirf:重点有点出来就够了 114.43.184.153 09/08 00:02
13F:推 willhunting:我说的哪里是要去写写不完的注解 160.39.16.13 09/08 02:34
14F:→ willhunting:拿他的例子来说好了 他如果用到了 160.39.16.13 09/08 02:34
15F:→ willhunting:factory pattern,与其啥也不说明 160.39.16.13 09/08 02:34
16F:→ willhunting:我认为可以加一行注解factory pattern 160.39.16.13 09/08 02:35
17F:→ willhunting:这样对这东西不熟的人至少有个暗示 160.39.16.13 09/08 02:35
18F:→ willhunting:他可以自己再去查那是啥 160.39.16.13 09/08 02:35
19F:→ willhunting:我是说都要求别人已经知道那是什麽 160.39.16.13 09/08 02:35
20F:→ willhunting:反而可能造成後人阅读效率不彰 160.39.16.13 09/08 02:36
21F:推 H45:我想共识应该快出来了:好的命名和简要的注解 140.116.247.13 09/08 02:39