上周,我被迫对一个很老的项目做一些修改。麻烦是,当开始着手时,我真的记不清这个项目究竟有多老了。
这实际上是我使用Codeigniter实现的第一个MVC项目。打开项目文件后,很多东西都让我头晕。首先,没有版本控制,第二,没有注释。读起代码,我的“F*CK/分钟”的值一直冲破屋顶。
项目里面的Model很少。Controller层有大量重复的代码,View层肥大的令人毛骨悚然。我相信View层里的逻辑实际上比Model层和Controller层的加起来都要多。
我该为此感到羞耻吗?
答案是NO。(如果是的话我也不会写这篇博客里。)
为什么不?
因为有个六月定律。六月定律说的是,每个程序员都应该回头看看自己6个月前写的代码,并且应该会唾弃当时写的那些代码。
这就引出了本文的重点:如果你是个程序员,当你看6个月前写的代码时,如果发现跟现在写代码的水平一样,请别写了,你应该学习一些新东西了。
这就是为什么当我看到以前的代码写的奇丑无比时反而很高兴的原因。非常高兴。这说明我进步了。所以,与其为那些丑陋的代码感到羞耻,不如高兴的接受它们,这意味着你在成长。
相关推荐
8. **团队建设**:布鲁克斯提出了“两耳不闻窗外事,一心只做编程工”的“布鲁克斯定律”,指出增加未经训练的新成员可能会延误项目进度。 《人月神话》以其深邃的思想和实践经验,成为了每个程序员和项目经理的...
3. **布鲁克斯定律**:他提出的这一著名定律指出,增加未经训练的开发者到一个已经延期的项目上,只会使项目延期更严重。 4. **设计原则与模式**:书中探讨了软件设计的原则和方法,提倡模块化设计,以降低复杂性和...
宁夏吴忠中学2017-2018学年高二物理6月月考试题可能涵盖了高中物理课程中的各种主题,包括但不限于力学、热学、电磁学、光学和现代物理等基础概念。然而,由于没有提供试题的具体内容,无法详细展开讨论这些物理知识...
4. **循环结构编程**:题目7的程序涉及到了循环结构,输出a和b的值需要理解循环终止条件和变量更新规则。 5. **三角函数的周期性**:题10询问函数的最小正周期,周期是三角函数的基本属性,可以通过解析式确定。 6...
7. **速度和距离**:区间测速的概念虽然属于交通管理,但它涉及速度和时间的计算,这与计算机编程中的循环、计时器等概念有间接联系。 8. **电荷和电场**:第16题提到了电荷的相互作用和库仑定律。在计算机科学中,...
1. 摩尔定律:摩尔定律是由英特尔创始人戈登·摩尔提出的,预测集成电路中晶体管数量大约每18个月翻一番,导致芯片性能提升且成本下降。这一规律不仅体现在晶体管数量的增长,还涉及到微处理器性能的提升和价格的...
文档提到的文章发表在《Journal of Hebei North University (Natural Science Edition)》的第27卷第3期,2011年6月出版。作者是王建国、孙静、许利军、黄海燕,他们来自张家口教育学院计算机与电子信息系。王建国...
6. **热力学**:热力学第一定律(能量守恒)和第二定律(熵增原理)是基础,热力学过程如等压、等容、等温过程,以及理想气体状态方程的应用也是重点。 但是,由于缺乏具体题目,我无法提供更详细的解答。如果您能...
程序员的59条搞笑但却真实无比的编程语录...语录15:“任何你写的代码,超过6个月不去看它,当你再看时,都像是别人写的。”(Eagleson’s law) 这条语录强调了编程经验的重要性,程序员需要具备编程经验和知识。 ...
在C#中实现“地球绕太阳转”的概念可以是创建一个简单的天体模拟程序,这涉及到编程基础、数学(如向量和矩阵运算)以及物理学(如牛顿运动定律)。以下是一些相关的知识点: 1. **面向对象编程**:C#是一种面向...
6. **磁学**:磁场的概念,电磁感应,安培环路定律等,与电磁学密切相关。 对于IT行业来说,这些物理知识可能会在理解电子设备的工作原理、网络信号传输(涉及电磁波)或者计算机硬件设计时发挥作用。然而,更具体...
在Python中模拟行星及其围绕太阳的轨道是一项有趣的编程练习,它可以帮助我们理解天体物理学的基本原理,同时加深对Python编程语言的理解。这个项目通常涉及到以下几个关键知识点: 1. **Python基础知识**:首先,...
- 摩尔定律指出,集成电路上的晶体管数量每隔18至24个月会翻一番,同时性能也会提高且成本降低。 - 面临的主要挑战包括物理限制、制造成本增加以及热管理难度加大。 2. **硅编译器**: - 硅编译器能够将高级行为...
例如,使用向量表示天体的位置和速度,通过牛顿万有引力定律计算相互之间的引力,以及使用欧拉方法或者更高级的数值积分算法更新物体的运动状态。 4. **坐标系统**:在模拟中,需要设定一个适当的坐标系,比如...
6. **数据处理**:如果程序基于真实观测数据,那么可能涉及到数据清洗、校准和格式转换,以便在MATLAB环境中处理。 7. **物理模型**:除了引力,还可能考虑其他因素,如大气阻力(尽管在月球轨道上非常小)、太阳...
1. **摩尔定律**:这是一条预测计算机硬件性能发展的定律,指出每18个月芯片的性能和速度提升一倍。相比之下,软件开发的进步速度相对较慢,导致了软件危机。 2. **软件定义**:软件不仅包括程序,还包括确保其正确...
6. **文件处理**:项目中只有一个文件"sun_earth_mouth",可能是程序的主执行文件,包含了所有必要的代码和资源,用户可以直接运行。 通过这样的模拟,用户不仅可以学习到基本的天文知识,还能了解如何将物理原理...