`
zhang_xzhi_xjtu
  • 浏览: 525325 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

我们要写怎么样的系统

阅读更多
编程也好久了。越来越觉得一个做一个好的程序员不是一件简单的事情,只有努力努力再努力。
经常看到一些很烂的代码,总是想着怎么要把它改善一下。今天,看了javaeye的你的代码写的很烂的帖子,心里一阵的寒啊。有那么多的人在说:

在没有了解整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。
在没有了解清楚前请不要轻易下结论,任何一段代码能跑起来都有它的一定道理。
恩,得用历史的发展的观念来看代码,不排除有特别的烂的代码,但是除非你读懂了整个过程,否则不要仅仅针对一段代码评价它的好坏。
千万别轻易否定别人的设计! 也许他考虑的东西比你想的多得多, 我们不能太自我了。
你几乎无法在短时间、局部的环境中体会到10年前编写这段代码的人的思路。
是的,每个人都有自己的设计思路……不应该轻易的去否定别人的作品!!

对,我承认上面说的都有道理。

好吧,那我们程序员是干什么的,我们为什么做程序员,如果有一天我们看到自己的系统都是一脸惭愧,那作为程序员自身的意义何在呢。

我很同意在没有了解整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。
但是事分两说,如果一个成熟的程序员不能很快的看出一个系统的大概架构,那这个系统就是有问题的。很多时候,要费劲心机才明白一小段程序的意义,为什么,因为代码不好,没有自我解释性。本来看代码应该是只看一个架构,看一个领域模型,就差不多了,基本上靠猜应该八九不离十了。但是实际生活中呢,太多方法名和内容不符合的了,搞的人都怕怕了。

代码应该还是有好坏之分的吧,你看到一个7层的try catch不晕,你看到一个17个参数的方法不晕,你看到一个方法前条件约束2,3页的不晕,ok,我服了你了。

即使是整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。这句我还是有保留的,一个类写在哪里,一个方法出现在哪里,都是有意义的,一段代码的好坏,的确依赖于对整个方案的理解,但是,同样的,一段好的代码,本身就应该可以解释很多事情。

常见的理由,有时间紧,资源有限,功能性的需求优先级高,历史条件(这个听的最多了)。我们不是有持续重构的利器吗,不要觉得一个方法的注释,一个变量的名字,不重要,想想看,写代码和读代码的时间的比例,我们一天写几行代码,一天要读多少行代码,当你读着读着想打人,骂人的时候,多想想自己不要做这样的人。

看了这个帖子有点激动,有些言语过激了。

分享到:
评论
17 楼 zhang_xzhi_xjtu 2010-08-20  
BestUpon 写道
zhang_xzhi_xjtu 写道


我很同意在没有了解整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。



这就是说,设计没有对和错之分,只有适合不是适合!


no.
我的意思是在没有了解整个程序的解决方案之前,不可能就那么轻易的判断代码的好和坏。
但是如果了解了整个程序的解决方案之后,当然还是有好坏之分的,或者说这里的好坏就是适合不适合当前的业务和技术,以及有策略的考虑了以后维护和变更。

16 楼 BestUpon 2010-08-20  
zhang_xzhi_xjtu 写道


我很同意在没有了解整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。



这就是说,设计没有对和错之分,只有适合不是适合!
15 楼 freish 2010-08-19  
写代码就是为了不让别人看懂,免得有人抢饭碗
14 楼 1927105 2010-08-19  
网上放的都是新手的代码,,高级代码都屏蔽了,,,
13 楼 zhang_xzhi_xjtu 2010-08-19  
这个应该是没有做过性能测试的吧
12 楼 neptune 2010-08-19  
有一天领导说,dba发现每天晚上数据库连接在某个时刻连接连接数特别多,让我查,最后在一个循环中发现了,把得到连接写到循环中了,循环一千多次呀。这是在中国最好的互联网公司发生的,当时就郁闷了。
11 楼 windforce9811 2010-08-19  
未必非要了解整个系统才能看出代码的好坏。
看一行代码,命名是否规范,缩进是否合理,没有冗余的判断,没有大的方法(超过100行)。就符合了基本条件

再有点漂亮的算法,基本就是好代码了。

如果在此基础上,对业务做了精准的分析,有漂亮的OO体现,那就可以做典范给新人做示例了
10 楼 monnsquare 2010-08-19  
适用的代码是最好的代码~~
9 楼 xiao-qiang163 2010-08-19  
瞎扯什么蛋,楼主要淡定,不要眼里只看到别人的差而忽略了别人的优。。。。。

心如止水地去面对吧,尽力做好就可以了,
8 楼 hardPass 2010-08-19  
zhang_xzhi_xjtu 写道


好吧,那我们程序员是干什么的,我们为什么做程序员,如果有一天我们看到自己的系统都是一脸惭愧,那作为程序员自身的意义何在呢。



我做过的所有代码中,有80%以上的,我感到羞愧。

也有很少一部分,会让自己感到惊艳。
7 楼 i2534 2010-08-19  
就我个人感觉而言,就是写完的东西,下班的路上想想哪里还有问题,该怎样改代码看起来才优美,怎样才能更简练.如果一眼看上去代码像一坨屎,那基本就是烂代码.第二天上班,先改再写新的代码,如此往复.
6 楼 抛出异常的爱 2010-08-19  
一行代码一个世界
一个世界有很多行代码.
写一行代码作一次孽.
这个世界就是作孽就要还

对于那些没有勇气去重构的兄弟
你们可以先不OO先改改文件名
改改方法名
改改属性名
把方法挪挪的地方.


抽抽方法起个漂亮的名子.....给这个方法加个测试
还有很多.................

没必要害怕能干多少干多少.
不要写完功能就让测试去测 ,
祈祷自己代码不会出错.
冤孽总需要有人会去还的.不是你就是别人.
5 楼 vtrtbb 2010-08-19  
列宁同志曾经说过:当你搞不清楚这个事的时候,马*克*思*主义者的绝对要求就是,把它提到一个历史范畴之内。
所以看代码要结合当时的历史环境和系统环境来看。哈哈

注:列宁好像不会编程~~~

哈哈
4 楼 fansofjava 2010-08-18  
大多数看上去很烂的程序都是可以改进的,只是水平的问题。
要知道kent beck、martin fowler这些就是专干这种这种事的,不能改只能说明水平还不够,拿来自我安慰
3 楼 20029388 2010-08-18  
求 好代码
2 楼 zozoh 2010-08-18  
一个段程序就是一个系统

LZ 说的很好
1 楼 yoin528 2010-08-18  
内容跟标题一点关系都没有,至少不是在写怎么写系统.

相关推荐

    PIC CMS图片网站管理系统 v1.2.ZIP

    我们来自互联网,也将永远为互联网发展和进步拼搏,我们不懂得运营与盈利,但是我们确实懂PHP技术(我们依然要学习),可以提供高标准的技术服务和安全高效的产品,希望我们的努力能为您提供一个高效快速和强大的图片...

    智能灯光控制系统开题报告.doc

    在图书馆查资料到写出具体的实施" "方案、画出电路图都要认真考虑,寻找最优的设计方案。经过多次修改最终于实" "现了设计要求。 " "在大学四年的学习和课题研究期间,老师们给予我许多悉心的指导和帮助,教给" "我...

    Linux操作系统基础教程

    我们并不能使同学们通过这次系列讲座成为一个 UNIX 类操作系统的高手,这次系列 讲座的目的就是在同学们中间普及 Linux 基础知识,为今后我们更加接近的了解 Linux 做一 个好的开端。 第一讲 Linux基础 在这一...

    计算机基础-计算机硬件系统.pptx

    你想要什么样的配置? 什么样的CPU? 多大的内存? 多大的硬盘? 什么样的键盘鼠标? 独立显卡还是集成显卡? 5 2021/8/2 计算机基础-计算机硬件系统全文共27页,当前为第5页。 计算机硬件系统 中央处理器 存储器 ...

    php图书管理系统 巴掌/码蚁成绩管理系统

    码蚁免费成绩管理系统  坦率地讲,在不久的将来,这也许会是辽东半岛上第二好用... “情怀”的代言人罗永浩说:“科技的每一次进步,给我们带来的是更好的世界,而不是完美的世界”,因此,这个项目会一直向着更好不

    C C++嵌入式系统编程.pdf

    我们的手表里、录像机里、蜂窝电话里,甚至可能在烤面包机里面。军事上会 使用嵌入式软件来引导导弹。侦测敌方的飞行物。外太空探测器和许多医疗仪 器离开嵌人式软件几乎不可能工作。 设计人员不得不写所有的代码,...

    poi,用java读写Excel

    在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。 Apache的Jakata项目的POI子项目,目前比较成熟的是HSSF接口,处理MSExcel对象...

    软件工程毕业论文:基于laravel框架的个人博客发布系统的设计与实现doc

    Markdown编译称 html 之后我们可以加入对应的样式表,可以做出我们想要的博客的样 子。本系统还提供了博客的编辑以及修改删除的功能,让博客的博主可以快速的进行博 客的管理,还提供了博客的评论的功能,让博客的...

    C和C++嵌入式系统编程

    我们的手表里、录像机里、蜂窝电话里,甚至可能在烤面包机里面。军事上会 使用嵌入式软件来引导导弹。侦测敌方的飞行物。外太空探测器和许多医疗仪 器离开嵌人式软件几乎不可能工作。 设计人员不得不写所有的代码,...

    班级网站管理系统java课程设计报告.doc

    目 录 1 绪论 2 1.1开发背景 2 1.2 本次设计完成的工作 2 1.3 任务分工 3 1.4 任务 3 2 系统分析 4 2.1需求分析 4 2.2可行性分析 4 2.3 用例图 5 3 系统设计与实现 8 3.1系统目标 8 3.2系统功能结构 8 3.3功能流程及...

    成绩管理系统 java 项目包含数据库 可自行修改

    为了让自己统计成绩工作变得更优雅,才边学边写这个成绩统计项目。信息录入与输出简单,支持在线单条录入和表格录入、表格输出,尽量让所有信息可管理。在操作设计中,遵循 Giles Colborne 的简约至上原则,尽量做到...

    购物商城系统源代码--004

    如果您购买了商业版本,我们将提供给您相应版本的序列号,请把序列号信息写在此文件中。 2、在服务器上运行DLL文件夹中的“注册组件.bat”文件,进行组件的注册。 3、安装完成! 使用 ==========================...

    教学成绩管理系统 java 项目包含数据库 可自行修改

    为了让自己统计成绩工作变得更优雅,才边学边写这个成绩统计项目。信息录入与输出简单,支持在线单条录入和表格录入、表格输出,尽量让所有信息可管理。在操作设计中,遵循 Giles Colborne 的简约至上原则,尽量做到...

    在线订票系统源码(毕业设计_C#+SQL)_TicketWeb

    备注信息:只要程序 不要论文 5/1号要 你看能不 能按照这个界面这样做 这样应该做界面的人有个参照就简单点吧 最好按照这个系统的流程做 有些具体的我订单上没有写说明的就省了吧 但是你要把刚刚我们2个的都做简单再...

    《码蚁免费成绩管理系统》

    这是一款注重优化成绩采集方法、丰富成绩分析维度的小学成绩统计系统,力争做到符合教师工作习惯、使用方法简单、数据分析多样、分析结果科学,为教师的试卷分析、教育科研提供数据参考。  开发者是一名非计算机...

    makefile中文教程.pdf

    头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的 规则是: 1)如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。 2)如果这个工程的某几个C文件被修改,那么我们只编译...

    《UEFI内核导读》-样章20210318.pdf

    我们知道电子产品正常工作必须要有操作系统和各种应用软件,没有操作系统和应用软件的芯片就是一堆废铁,而大多数人并不知道的是没有系统固件来加载操作系统的电脑亦是一堆废铁, UEFI就是由UEFI行业协会提出和维护...

    Chargpt 插件应用以及解析

    尽管Chargpt已经发布了很多个月,自己也已经体验过产品,但是如果想要更深入地了解相关知识,由于时间和精力的限制,很难去系统性地学习Chargpt。于是我回来搜了一下,发现目前互联网上比较热门的相关学习知识都是...

    UZCMS镜像采集系统(万能克隆小偷程序) v1.0.rar

    2. 全站伪静态.html结尾:无论您偷取什么样的网站,ASP,PHP,ASPX,本程序都会在内部自动转换参数,全部以.html伪静态方式结尾,如果您觉得我们默认的URL路径不好用或者不喜欢,没关系!我们为您准备了各种服务 器...

Global site tag (gtag.js) - Google Analytics