编程也好久了。越来越觉得一个做一个好的程序员不是一件简单的事情,只有努力努力再努力。
经常看到一些很烂的代码,总是想着怎么要把它改善一下。今天,看了javaeye的你的代码写的很烂的帖子,心里一阵的寒啊。有那么多的人在说:
在没有了解整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。
在没有了解清楚前请不要轻易下结论,任何一段代码能跑起来都有它的一定道理。
恩,得用历史的发展的观念来看代码,不排除有特别的烂的代码,但是除非你读懂了整个过程,否则不要仅仅针对一段代码评价它的好坏。
千万别轻易否定别人的设计! 也许他考虑的东西比你想的多得多, 我们不能太自我了。
你几乎无法在短时间、局部的环境中体会到10年前编写这段代码的人的思路。
是的,每个人都有自己的设计思路……不应该轻易的去否定别人的作品!!
对,我承认上面说的都有道理。
好吧,那我们程序员是干什么的,我们为什么做程序员,如果有一天我们看到自己的系统都是一脸惭愧,那作为程序员自身的意义何在呢。
我很同意在没有了解整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。
但是事分两说,如果一个成熟的程序员不能很快的看出一个系统的大概架构,那这个系统就是有问题的。很多时候,要费劲心机才明白一小段程序的意义,为什么,因为代码不好,没有自我解释性。本来看代码应该是只看一个架构,看一个领域模型,就差不多了,基本上靠猜应该八九不离十了。但是实际生活中呢,太多方法名和内容不符合的了,搞的人都怕怕了。
代码应该还是有好坏之分的吧,你看到一个7层的try catch不晕,你看到一个17个参数的方法不晕,你看到一个方法前条件约束2,3页的不晕,ok,我服了你了。
即使是整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。这句我还是有保留的,一个类写在哪里,一个方法出现在哪里,都是有意义的,一段代码的好坏,的确依赖于对整个方案的理解,但是,同样的,一段好的代码,本身就应该可以解释很多事情。
常见的理由,有时间紧,资源有限,功能性的需求优先级高,历史条件(这个听的最多了)。我们不是有持续重构的利器吗,不要觉得一个方法的注释,一个变量的名字,不重要,想想看,写代码和读代码的时间的比例,我们一天写几行代码,一天要读多少行代码,当你读着读着想打人,骂人的时候,多想想自己不要做这样的人。
看了这个帖子有点激动,有些言语过激了。
分享到:
相关推荐
我们来自互联网,也将永远为互联网发展和进步拼搏,我们不懂得运营与盈利,但是我们确实懂PHP技术(我们依然要学习),可以提供高标准的技术服务和安全高效的产品,希望我们的努力能为您提供一个高效快速和强大的图片...
在图书馆查资料到写出具体的实施" "方案、画出电路图都要认真考虑,寻找最优的设计方案。经过多次修改最终于实" "现了设计要求。 " "在大学四年的学习和课题研究期间,老师们给予我许多悉心的指导和帮助,教给" "我...
我们并不能使同学们通过这次系列讲座成为一个 UNIX 类操作系统的高手,这次系列 讲座的目的就是在同学们中间普及 Linux 基础知识,为今后我们更加接近的了解 Linux 做一 个好的开端。 第一讲 Linux基础 在这一...
你想要什么样的配置? 什么样的CPU? 多大的内存? 多大的硬盘? 什么样的键盘鼠标? 独立显卡还是集成显卡? 5 2021/8/2 计算机基础-计算机硬件系统全文共27页,当前为第5页。 计算机硬件系统 中央处理器 存储器 ...
码蚁免费成绩管理系统 坦率地讲,在不久的将来,这也许会是辽东半岛上第二好用... “情怀”的代言人罗永浩说:“科技的每一次进步,给我们带来的是更好的世界,而不是完美的世界”,因此,这个项目会一直向着更好不
我们的手表里、录像机里、蜂窝电话里,甚至可能在烤面包机里面。军事上会 使用嵌入式软件来引导导弹。侦测敌方的飞行物。外太空探测器和许多医疗仪 器离开嵌人式软件几乎不可能工作。 设计人员不得不写所有的代码,...
在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。 Apache的Jakata项目的POI子项目,目前比较成熟的是HSSF接口,处理MSExcel对象...
Markdown编译称 html 之后我们可以加入对应的样式表,可以做出我们想要的博客的样 子。本系统还提供了博客的编辑以及修改删除的功能,让博客的博主可以快速的进行博 客的管理,还提供了博客的评论的功能,让博客的...
我们的手表里、录像机里、蜂窝电话里,甚至可能在烤面包机里面。军事上会 使用嵌入式软件来引导导弹。侦测敌方的飞行物。外太空探测器和许多医疗仪 器离开嵌人式软件几乎不可能工作。 设计人员不得不写所有的代码,...
目 录 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功能流程及...
为了让自己统计成绩工作变得更优雅,才边学边写这个成绩统计项目。信息录入与输出简单,支持在线单条录入和表格录入、表格输出,尽量让所有信息可管理。在操作设计中,遵循 Giles Colborne 的简约至上原则,尽量做到...
如果您购买了商业版本,我们将提供给您相应版本的序列号,请把序列号信息写在此文件中。 2、在服务器上运行DLL文件夹中的“注册组件.bat”文件,进行组件的注册。 3、安装完成! 使用 ==========================...
为了让自己统计成绩工作变得更优雅,才边学边写这个成绩统计项目。信息录入与输出简单,支持在线单条录入和表格录入、表格输出,尽量让所有信息可管理。在操作设计中,遵循 Giles Colborne 的简约至上原则,尽量做到...
备注信息:只要程序 不要论文 5/1号要 你看能不 能按照这个界面这样做 这样应该做界面的人有个参照就简单点吧 最好按照这个系统的流程做 有些具体的我订单上没有写说明的就省了吧 但是你要把刚刚我们2个的都做简单再...
这是一款注重优化成绩采集方法、丰富成绩分析维度的小学成绩统计系统,力争做到符合教师工作习惯、使用方法简单、数据分析多样、分析结果科学,为教师的试卷分析、教育科研提供数据参考。 开发者是一名非计算机...
头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的 规则是: 1)如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。 2)如果这个工程的某几个C文件被修改,那么我们只编译...
我们知道电子产品正常工作必须要有操作系统和各种应用软件,没有操作系统和应用软件的芯片就是一堆废铁,而大多数人并不知道的是没有系统固件来加载操作系统的电脑亦是一堆废铁, UEFI就是由UEFI行业协会提出和维护...
尽管Chargpt已经发布了很多个月,自己也已经体验过产品,但是如果想要更深入地了解相关知识,由于时间和精力的限制,很难去系统性地学习Chargpt。于是我回来搜了一下,发现目前互联网上比较热门的相关学习知识都是...
2. 全站伪静态.html结尾:无论您偷取什么样的网站,ASP,PHP,ASPX,本程序都会在内部自动转换参数,全部以.html伪静态方式结尾,如果您觉得我们默认的URL路径不好用或者不喜欢,没关系!我们为您准备了各种服务 器...