首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 如何才能写出优雅,高质量的代码? [已结贴,结贴人:WDandan]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 19:04:35 楼主
    编码谁都会,但问题是如何才能写出优雅的,高质量的,效率更高的代码呢?

    除了经验外,有没有相关的指导丛书或途径加速提升功力
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 19:09:331楼 得分:0
    常常写几行代码我要考虑很久,因为我是尽量写出自认为优雅的,高效率的代码,所以,貌似,项目常常进行的特别慢。

    常常编码过程中我会很烦躁,因为总有些代码感觉不知道写好,虽然我有无数种方法实现需求,但发现写的代码又臭又烂,我不希望这些自己都不满意的代码编译应用。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jzywh
    • 等级:
    发表于:2008-06-27 19:12:242楼 得分:3
    多写的同时浏览一些经典的代码
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cooolchen
    • 等级:
    发表于:2008-06-27 19:13:173楼 得分:3
    关注。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cooolchen
    • 等级:
    发表于:2008-06-27 19:14:334楼 得分:0
    楼主太浮躁了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 19:16:215楼 得分:0
    引用 2 楼 jzywh 的回复:
    多写的同时浏览一些经典的代码

    写不出好的代码总让我没兴趣去code了。
    怎么样的叫经典代码,又去哪获取经典代码?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cooolchen
    • 等级:
    发表于:2008-06-27 19:16:246楼 得分:0
    优雅的,高质量的,效率更高
    ---这样的代码不是一蹴而就的。
    要写出这样的代码没有捷径可以走!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 19:21:517楼 得分:0
    引用 6 楼 cooolchen 的回复:
    优雅的,高质量的,效率更高
    ---这样的代码不是一蹴而就的。
    要写出这样的代码没有捷径可以走!


    谢谢关注。
    我没有说捷径,我只想想在这里寻求一些帮助和提点,总比人家自己琢磨好得多吧,“闭门造车”可不好。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 19:43:218楼 得分:3
    多去开源社区混
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 19:45:019楼 得分:3
    .NET 设计规范--.NET约定、惯用法与模式
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 19:49:3610楼 得分:3
    那去看.net Framework源代码吧。。。

    那都是微软工程师写的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinjazz
    • 等级:
    发表于:2008-06-27 19:51:4011楼 得分:3
    该优雅的时候优雅,该随便写的时候随便写..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinjazz
    • 等级:
    发表于:2008-06-27 19:52:3212楼 得分:0
    引用 10 楼 xocom 的回复:
    那去看.net Framework源代码吧。。。

    那都是微软工程师写的。


    帮帮忙,.net 框架一大堆goto,看着就头大
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sp1234
    • 等级:
    发表于:2008-06-27 20:22:3013楼 得分:3
    引用 1 楼 WDandan 的回复:
    常常写几行代码我要考虑很久,因为我是尽量写出自认为优雅的,高效率的代码,所以,貌似,项目常常进行的特别慢。
     
    常常编码过程中我会很烦躁,因为总有些代码感觉不知道写好,虽然我有无数种方法实现需求,但发现写的代码又臭又烂,我不希望这些自己都不满意的代码编译应用。


    多做那些以极小的代价开发的商品化项目并且保持它1、2年以上还在使用无法被人替代。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sp1234
    • 等级:
    发表于:2008-06-27 20:25:2914楼 得分:0
    引用 10 楼 xocom 的回复:
    那去看.net Framework源代码吧。。。
     
    那都是微软工程师写的。


    微软工程师写的代码跟一般的大学生没有什么区别,烂得地方照样烂得很。微软的几个流行的东西,例如.net Framework,得益于设计师、PM的技术以及测试得比较好,非程序员的编码其实没有什么好学的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sp1234
    • 等级:
    发表于:2008-06-27 20:27:2915楼 得分:0
    非程序员的编码其实没有什么好学的  -->  一般程序员的编码其实没有什么好学的

    编码风格的转变服从你的“内心”的转变。不是程序员的编程技术,而是设计技术的提高,会让你的代码简洁清晰。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 20:31:5516楼 得分:3
    引用 9 楼 amandag 的回复:
    .NET 设计规范--.NET约定、惯用法与模式
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • only_endure
    • 等级:
    发表于:2008-06-27 20:37:2617楼 得分:3
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-27 20:40:1618楼 得分:3
    引用 16 楼 zanfeng 的回复:
    引用 9 楼 amandag 的回复:
    .NET 设计规范--.NET约定、惯用法与模式
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sunlovesea
    • 等级:
    发表于:2008-06-27 22:39:4719楼 得分:2
    Effective C#
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 10:17:0020楼 得分:2
    看了不知道该说点什么好.我也希望能够看点高手的代码;
    我的邮箱:lwp1493@sina.com希望高手们不吝赐教!
    万分感激!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 10:22:5921楼 得分:2
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 10:41:1422楼 得分:2
    下面这个经常被提起 比较经典 猜猜它是干嘛的^^
    C/C++ code
    #include "stdio.h" #include "conio.h" long a=10000, b, c=28000, d, e, f[28010], g; void main() { for( ;b-c; ) f[b++] =a/5; for( ; d=0, g=c*2; c-=14,printf("%.4d",e+d/a),e=d%a) for(b=c; d+=f[b]*a,f[b] =d%--g,d/=g--,--b; d*=b ) ; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 10:54:3723楼 得分:2
    ========================================

    想做兼职吗?请来任务中国看看
    http://www.taskcn.com/?r=1808391

    ========================================
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 11:24:2124楼 得分:2
    我觉得知识面要广,懂得多,懂得深
    另外重构少不了
    有多少会把自己的代码重构的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 11:39:0325楼 得分:2
    只是不很影响效率就无所谓了,现在的电脑强得很~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 11:45:5426楼 得分:2
    ..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 11:52:4127楼 得分:0
    引用 16 楼 zanfeng 的回复:
    引用 9 楼 amandag 的回复:
    .NET 设计规范--.NET约定、惯用法与模式
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 11:54:0028楼 得分:0
    引用 6 楼 cooolchen 的回复:
    优雅的,高质量的,效率更高
    ---这样的代码不是一蹴而就的。
    要写出这样的代码没有捷径可以走!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 12:20:0229楼 得分:2
    引用楼主 WDandan 的帖子:
    编码谁都会,但问题是如何才能写出优雅的,高质量的,效率更高的代码呢?

    在你心中什么样的代码才能称的上市优雅的,高质量的,效率更高的代码
    你心里有底吗,如果你对你的代码总是要求还要好点,还要好点,
    那你永远找不到你想要的代码

    代码好,先从编程上,没有代码冗余,重复,类的强壮性啊等等都要符合
            那些什么命名规则啊,()能够让人清晰明了
    功能上肯定要准确完成需求,让客户使用时方便,不容易出差错,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 12:27:1330楼 得分:0
    引用 1 楼 WDandan 的回复:
    常常写几行代码我要考虑很久,因为我是尽量写出自认为优雅的,高效率的代码,所以,貌似,项目常常进行的特别慢。

    常常编码过程中我会很烦躁,因为总有些代码感觉不知道写好,虽然我有无数种方法实现需求,但发现写的代码又臭又烂,我不希望这些自己都不满意的代码编译应用。



    有的时候功能的实现是有多种,就好像我们一起坐数学题一样有多种方法,有的方法很长,但是易懂,短的很简单
    但是难懂,难想到,两种方法的作用其实是一样的 ,解决了这个问题,编程也是一样,方法的好可以很shoade代码使这个功能实现,但这并没有和代码的行数无关,因为你要用这个方法实现这个功能不能在减少代码了


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 12:30:2331楼 得分:0
    编程慢,和你的思绪有关,要实现这个功能,你首先就要思考好应该用什么知识解决,怎样解决
    怎样用知识贯通他
    不要到了半路上突然觉得这个方法不好,有什么问题
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Navymk
    • 等级:
    发表于:2008-06-28 12:38:1232楼 得分:2
    引用 15 楼 sp1234 的回复:
    非程序员的编码其实没有什么好学的  -->  一般程序员的编码其实没有什么好学的

    编码风格的转变服从你的“内心”的转变。不是程序员的编程技术,而是设计技术的提高,会让你的代码简洁清晰。


    这话很受用...最近看了面向接口编程,觉得自己就跟没学过c#一样...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 12:44:3733楼 得分:2
    引用 22 楼 WO_YOU_XIE_SHANG_XIN 的回复:
    下面这个经常被提起 比较经典 猜猜它是干嘛的^^

    C/C++ code#include "stdio.h"
    #include "conio.h"
    long a=10000, b, c=28000, d, e, f[28010], g;
    void main()
    {
    for( ;b-c; ) f[b++] =a/5;
    for( ; d=0, g=c*2; c-=14,printf("%.4d",e+d/a),e=d%a)
    for(b=c; d+=f[b]*a,f[b] =d%--g,d/=g--,--b; d*=b ) ;
    }


    我猜是计算圆周率的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 13:03:1534楼 得分:2
    引用 2 楼 jzywh 的回复:
    多写的同时浏览一些经典的代码
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-28 13:11:1835楼 得分:0
    引用 7 楼 WDanda