如题,也可能由于时间紧迫,但感觉更多的原因还是自己的经验不足,开始写代码前没做更多的设计,理解个大概就先写起来,跑起来再说,写了几千行以后,再往后写,就发现有时候不得不重复写一些功能相似的代码,之前写的都不怎么"通用",有一些代码逻辑也不是很好,但都能用,我自己是有写出简洁高效代码的意识的,但就是因为这个,所以如果没开好头,后期就会处于纠结之中,越写越矛盾.
请问一下怎么提升写好代码的能力,代码质量高,设计合理,还要优雅一些,求老程序员能传授一下自己的经验,谢谢.
如果要特指语言的话,就 python.
1
finab 2016-03-11 11:07:23 +08:00 via iPhone 1
无他,唯手熟尔
|
2
chend 2016-03-11 11:24:01 +08:00 1
需求加着加着, 一开始的代码 就乱了~~~
要么经验丰富(代码经验和业务经验), 合理规划 代码 结构。。 要么, 写完功能后, 顺便考虑下 可能的需求改动, 重构优化, 代码质量慢慢提高 |
3
lxy 2016-03-11 12:08:35 +08:00 1
哈哈,刚好前几天独自完成了 2000 行的小项目,个人用。其实是第二次写了,把之前的全部推倒重写(之前的 BUG 太多,基本运行不起来,由于代码太乱我都不想再改了)。
重写的收获很大,简单来说最重要的经验就是自顶向下写代码。先考虑好最上层函数大概需要做什么,然后把需要做的动作写成一个函数,我也是用 python 写的,我觉得 python 有个特别有用的东西就是 pass ,先把顶层的写完,下面一层除了名称外不必考虑太多,主体暂时一律写 pass 。 比如写个抓帖子的爬虫,最上层就是 get_thread(), check_thread(), get_post(), save_post(),根本不必考虑下层写什么,先把主要的逻辑动作写完。写完后依此下去,考虑 get_thread 主要做什么,一直到最后不可分割的原子动作,每个函数代码可控制在 50 行以内(即使只有不到十行也别觉得太少),而且代码高度可重用。 另外 python 另一个有用的东西就是装饰器, log 、通用循环结构都可以写成装饰器,可以节省大量的重复代码,简化结构。 |
4
akring 2016-03-11 12:52:15 +08:00 1
经验堆砌,还有就是条件允许的情况下多重构,不断用新学到的知识优化代码, keep learning and moving on
|
5
zymmm 2016-03-11 13:12:13 +08:00
promise
|
6
feiyuanqiu 2016-03-11 13:39:50 +08:00 1
推荐看看 clean code (代码整洁之道),工作一两年之后再看这本书感觉简直把自己平时的坏习惯都写到了
然后写代码的时候一直记着 solid ,看看写的代码是不是符合这个原则,特别是单一职责、开放关闭两个,对写出清晰的类、方法很重要 |
7
WispZhan 2016-03-11 13:51:03 +08:00 1
《代码整洁之道》
《重构:改善既有代码的设计》 《 Head First :面向对象分析与设计》 |
10
strahe OP |