Programming 板


LINE

其实这个真的要考虑到很多方面 要看你的好是让程式看起来很漂亮 还是要方便修改 比方说程式高手 或许别人需要花二三百行写的code 他可以不到一百行就轻易解决了 或许这样的code看来简洁有力 有大师之风 可是将来等大师脑力衰退或是其它人来接手时 会觉得看起来很吃力 相反的那二三百行完成的code修改容易 而且容易让人了解当初作者的意思 程式是写来服务人的 不是写来折磨人的 ※ 引述《sorryChen (陈扬和)》之铭言: : 我觉得要多问人..看别人的code..不然都是自己闭门造车 : 我自己花了很久的时间闭门造车 其实很多时候用更方便的语法 : 应该说要多用别人的code..就会快很多 : 另外就是要写test. 最好是unit test 其实应该是test driven programming : 为了一时方变求快 往往导致後面更长的时间在debug.. : 只要写大一点点改code有错就可能花一两天来找 非常可怕 : 如果可以有人review 你的code那是进步最快的 : ※ 引述《yoco315 (眠月)》之铭言: : : 我不是高手,我懂一点点程式设计,但是我可以分享一点点经验。 : : 程式设计是一门艺术, : : 多写当然很重要,但是闭门造车狂写的话,除非是绝世天才,不然就掰了, : : 多看大师等级的程式码绝对比自己死命写进步的快好几倍。 : : 就像音乐跟绘画,多看多接触多欣赏别人的经典,绝对是好的。 : : 但是看要看得懂,光看到程式码看不懂背後设计的精髓的话还是没用, : : 要看懂那些东西你得先有基本的资料结构、演算法跟进阶的设计模式等功力, : : 当然,除了理论以外,程式语言本身你也要熟捻。 : : 所以以上基本教材先念熟,这是进入高阶殿堂的钥匙。 : : 这些东西没有的话,想要进殿堂连门都没有。 : : 然後去找网路上有些「xx源码解析」, : : 里面都会找一些经典的程式码,然後解释背後的设计理念, : : 看懂就是你的,这个时候你对软体的结构就开始有点概念了。 : : 看不懂的话,你就去好一点的讨论版问, : : 因为到这个程度,死大学生讨作业的烂版已经不能满足你问题的难度了。 : : 高手不少,但是既然是高手,他们对无聊的问题就一点兴趣也没有, : : 要把他们钓出来你的问题就要够好,他们遇到好的问题就会掏心掏肺, : : 因为他们有些人很无聊,每天都在看板,但是很少发文,因为没的发挥, : : 难得有机会发挥的话,他们就不会放过,所以你要看这个。 : : http://catb.org/~esr/faqs/smart-questions.html : : 当然阅读吸收很重要,但是还要多写, : : 写没多久你就会发现开发环境很重要,选一个好的 IDE,绝对不要虐待自己。 : : 选用的时候要多看多问多评估,因为这是你写程式的时候会一直接触的东西, : : 程式设计师需要保持快乐,不快乐的程式设计师就是没有产能的程式设计师。 : : 程式码累积一定程度之後你会发现程式码的整理也很重要, : : 这个时候你可能会注意到有版本管理系统这种东西, : : 当然,选用之前要多评估,烂的版本管理系统会让你大脑发烟。 : : 也许有一天你需要回头用或是看自己的程式码, : : 你会发现干他妈的写这个程式的人是他妈的猪吗!?为什麽我一行都看不懂!? : : 所以你需要写文件跟注解,请选一个好的文件系统。 : : 文件也可以避免别人看着你的程式码骂你是他妈的猪。 : : 而且懒惰是程式设计师的美德,如果你不想一直解释重复的问题, : : 写好文件就是让你脱离当幼稚园老师的不二法门:「Read The Fucking Manual」 : : 搞不好你在当学生的时候就可以作到以上全部, : : 然後不管你工作了没有,你可能会开发大型软体, : : 我是说大型软体,一个人写不出来的那种。 : : 这个时候你会发现写软体就像是盖房子,需要工程方法, : : 一堆程式设计师在一起没有统筹跟良好方法的话,是作不出好的大东西的, : : 大东西可能做的出来,但是不好的大东西不叫做大程式,叫做大便, : : 真的,因为你会看着那堆程式码整天直呼「shit!」 : : 软体工程,不过他不是大型软体才需要, : : 你最好在越过学徒阶段之後就要抱有软体工程的概念。 : : 如果你有幸坚持到这一步, : : 当别人问你是不是高手的时候, : : 你也许就可以回答他说「我懂一点点程式设计」然後跟他分享你的经验了。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.131.68.5 ※ 编辑: mpk 来自: 220.131.68.5 (08/21 15:10)
1F:→ adrianshum:长短与易维护与否并无一定关系. 我见过 202.155.236.82 08/21 15:11
2F:→ adrianshum:太多大量 copy and paste 改一点点的又 202.155.236.82 08/21 15:11
3F:→ adrianshum:臭又长的 code, 这些绝对是又长又难维 202.155.236.82 08/21 15:11
4F:→ adrianshum:护的垃圾... 202.155.236.82 08/21 15:11
5F:→ adrianshum:个人觉得高手才不会硬为少较少行数而用 202.155.236.82 08/21 15:12
6F:→ mpk:当然不是指又臭又长的垃圾 220.131.68.5 08/21 15:13
7F:→ adrianshum:晦涩的写法, 为了短不惜写得难明反而是 202.155.236.82 08/21 15:14
8F:→ adrianshum:新手常犯的错误 202.155.236.82 08/21 15:14
9F:→ mpk:比方说 这一行明明有两个意思在里面 220.131.68.5 08/21 15:14
10F:→ mpk:有些高手就会常以一行来解决 220.131.68.5 08/21 15:15
11F:→ adrianshum:你说这种情况反而是新手常犯比较多.. 202.155.236.82 08/21 15:17
12F:→ adrianshum:至少依我工作一路来看, 写得好的人, 常 202.155.236.82 08/21 15:17
13F:→ mpk:我就曾经解别人的bug 最後是把那行拆开来处理 220.131.68.5 08/21 15:18
14F:→ adrianshum:会为了易懂反而多写东西, 程式短通常是 202.155.236.82 08/21 15:18
15F:→ mpk:那个bug的发生是因为 整个系统被改掉而产生 220.131.68.5 08/21 15:19
16F:→ adrianshum:因为整个流程想得清楚带来的. 倒是有些 202.155.236.82 08/21 15:19
17F:→ mpk:如果当初两个意思的事情 能分开来写 220.131.68.5 08/21 15:20
18F:→ adrianshum:人写得不思长进, 就会整天在省variable 202.155.236.82 08/21 15:20
19F:→ adrianshum:名称几个字, 或 { } 这类, 但程式流程 202.155.236.82 08/21 15:21
20F:→ adrianshum:就写得左堆右砌没有细心思考... :( 202.155.236.82 08/21 15:21
21F:→ adrianshum:其实我之前说: 维护一下烂 code 也能增 202.155.236.82 08/21 15:24
22F:→ adrianshum:进功力, 其实就是像 m 君那种情况, 当 202.155.236.82 08/21 15:24
23F:→ adrianshum:看过差的 code, 感受过它为维护者带来 202.155.236.82 08/21 15:24
24F:→ adrianshum:的痛苦, 以後就会避免犯上前人的问题. 202.155.236.82 08/21 15:25
25F:→ kuninaka:去看一下国际C语言混乱代码大赛的作品XD 218.164.146.49 08/21 15:25
26F:→ mpk:对我来说能清楚表达意思的就是好code 220.131.68.5 08/21 15:25
27F:→ kuninaka:好扩充 易懂 效率好XD 218.164.146.49 08/21 15:26
28F:→ mpk:好的code能让人在精神不太好的时候 依然看得懂 220.131.68.5 08/21 15:26
29F:→ kuninaka:能在中间平衡 就看功力了 218.164.146.49 08/21 15:27
30F:→ kuninaka:除非有特殊需求 否则没必要写到没人看懂 218.164.146.49 08/21 15:27
31F:→ mpk:其实那个不是让人看不懂 而是只有本人看得懂 220.131.68.5 08/21 15:29
32F:→ mpk:就像是大师作品一样 初学者一定看不懂 220.131.68.5 08/21 15:30
33F:推 adrianshum:同意 mpk 所言. 我一句写程式(或要求别 202.155.236.82 08/21 15:30
34F:→ adrianshum:人) 最基本的就是 可读性. 效率我反而 202.155.236.82 08/21 15:30
35F:→ kuninaka:所以我才说看需求阿 218.164.146.49 08/21 15:31
36F:→ kuninaka:看你写的目的是什麽 功能是什麽 218.164.146.49 08/21 15:31
37F:→ kuninaka:山不转路转 CODE是人在写 218.164.146.49 08/21 15:31
38F:→ adrianshum:不会那麽锱铢必较, 有时用一点心, 不要 202.155.236.82 08/21 15:32
39F:→ adrianshum:写明显是很笨的低效率 code, 就已经足 202.155.236.82 08/21 15:33
40F:→ adrianshum:够了 202.155.236.82 08/21 15:33
41F:→ kuninaka:这没有一定的准则 一切依需求 218.164.146.49 08/21 15:33
42F:→ adrianshum:我觉得无论什麽需求, 可读性是不可能视 202.155.236.82 08/21 15:35
43F:→ adrianshum:若无赌的. 个人认为这些是写程式的道德 202.155.236.82 08/21 15:36
44F:→ adrianshum:问题, 实在不能用需求胡混过去... 202.155.236.82 08/21 15:36
45F:→ kuninaka:国际C语言混乱代码大赛里面就没啥可读性 218.164.146.49 08/21 15:42
46F:→ kuninaka:还有用程式码化图的 218.164.146.49 08/21 15:42
47F:→ kuninaka:道德就言重了 有些是写给自己爽的 218.164.146.49 08/21 15:44
48F:→ adrianshum:那个就是故意要写得难明吧... 那很不同 202.155.236.82 08/21 16:12
49F:→ adrianshum:吧 XDD 我自己是写爽也尽量写得让以後 202.155.236.82 08/21 16:12
50F:→ adrianshum:的自己也看得懂 202.155.236.82 08/21 16:13







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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP