1
virgil 2012-05-25 21:29:53 +08:00
github上有很多,不知道你所说的什么才算优秀的代码,我觉得这个应该所一个过程吧,你不能一步就能够达到顶端,只有反复的磨练。
|
2
kidfolk 2012-05-25 21:32:54 +08:00
看开源项目的代码,或者直接参与开源项目
|
3
gujiaxi OP @virgil github的话……林子大了你懂的……
优秀代码的话,我也没法确切地定义,只是想避免一些弯路,养成好的编程习惯,虽然code style可能每个人都不一样,但总有糟糕的风格可以避免吧。 |
4
ufo22940268 2012-05-25 21:43:55 +08:00
看了《clean code》受益匪浅
|
5
humiaozuzu 2012-05-25 21:47:56 +08:00
其实这个事情和写作文一样的,平时如果积累的素材足够多,用的时候就可以有很多很好的参考例子来让你的项目变的更加完美,仅仅靠搜索引擎找到的可能只是用的最多的实践,而不是最佳;要从根本上解决问题,还是要解决素材问题,建议平时多多去 hacker news/reddit上面逛逛,还有quora和国内的一些靠谱的社区(v2ex/知乎/ruby-china etc),以及google reader
|
6
haohaolee 2012-05-25 22:09:25 +08:00
这事儿和个人品味也有关。不挑食的话,久了自然就形成自己的品味了
|
7
kojp 2012-05-25 22:14:13 +08:00
我只想说LZ作为一个学生党,真的已经是很强的 了! 膜拜中~~~
代码,感觉是外国人写的都比较clean。(这样好像会被喷的) |
8
mozartgho 2012-05-25 22:16:19 +08:00
上github,上面有很多优秀的代码
|
9
virgil 2012-05-25 23:44:57 +08:00
@gujiaxi 的确,我觉得可以看看那些很经典的框架源代码,那个相对来说应该很clean了,思想也很好,不过没有很好的基础的看我觉得很吃力。
|
10
pepsin 2012-05-26 00:21:26 +08:00
我感觉实际实现的话都会或多或少略脏,因为语言还有Libary的很多特性不可能谁都全部掌握,而很多时候你费劲写的脏兮兮的代码或许语言或者Libary已经有现成的实现了。
高手就是多知道这些,然后熟练那些特性。比如Ruby里熟练使用yield配合block可以写很多很干净的东西,但是如果不懂或不熟练,很可能就会写几个长起来一样细节不同的方法再结合switch或者if结构。更进阶的像Proc,method_missing这些就更厉害了,还有openstruct。 不过缺点就是不明白这些的人会觉得像魔法。。。 |
11
pepsin 2012-05-26 00:23:07 +08:00
对了,上面说那么多结果忘了给楼主建议了,相比看代码,实际实践到一定层次后看点进阶的书或许更好?或者你接触领域里大牛们的blog。
|
12
Livid MOD 你需要具体是哪门语言的 good code 呢?
|
14
sampeng 2012-05-26 03:29:15 +08:00
以前我也一直这么想。。。
现在嘛。。。 先写,实现需求。只是告诫自己注意该注意的。但重点不是这个。。。重点是重构!!。隔一段时间回头看看自己的代码。不是看看而已就拉到了。是要重构它。让他变漂亮。久而久之,代码就很感觉了。。 做的每一件事都把代码当自己的生命看待,而不是赚钱工具。代码能不好都难。。。看一份代码是可以看出编码者在写这份代码的心情的。。。 另外。。不要中文里面含英文单词。。其实这是很不好的习惯。。。 |
15
marvinII 2012-05-26 04:56:26 +08:00 1
1. 这个问题reddit上以前见过,推荐的回复里是读Lua的解释器代码,信噪比很高,因为由三个高手打磨了很多年,又比较小。
2. 还有推荐Qemu的,可以开阔一下多体系结构的眼界,看看作者如何游刃有余的处理棘手的跨平台虚拟机。 3. Beautiful Code这本书里也有很多推荐,但规模大小跨度很大,比如Brain Kernighan推荐的Rob Pike写的十几行的正则表达式匹配,FIT框架,到SVN之类。 4. SICP里的代码都很好;只是很难吃透。 5. Software Tools in PASCAL 是介绍早期unix的常用工具如何写就的,Kernighan & PJ P 6. Paul Graham写过一篇The Root of Lisp,模拟当年John发现Lisp的过程,只有几十行代码。 |
16
gujiaxi OP |