《当程序员的那些狗日日子》(十三)重组程序

2024-03-14 11:18

本文主要是介绍《当程序员的那些狗日日子》(十三)重组程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

几个星期后,我已将网站论坛系统的细节问题处理好,网站论坛系统也终于可以摆上线了。看到我自己竟然也能做出一个相对完整的论坛系统,我心里感到很欣慰和兴奋,并有几分成就感。虽然这个网站论坛系统放到整个互联网上是那么微不足道,但毕竟它是我几个月来的心血,或者说从我刚开始学习网站开发技术时起,我就倾注了很大的心血,这是我付出很大心血后的“结晶”,所以显得弥足珍贵。

盈回家过完春节后,她的家人希望她留在家中的县城工作,而且她不久后就在县城的一个公益性机构找到了一份差事,所以她就留了下来。但是我和盈仍保持着联系,除了平时在QQ上聊天外,有时我也会给她打电话。电话中盈总是很乐意跟我说她最新的情况,说她工作中的事情,说她的烦恼,言谈间听得出来她并不喜欢目前的工作,她还想再到北京来,但是她家人又希望她留在县城工作,所以她内心很矛盾。

盈的老家是在河北承德下面的一个县,到北京来很方便,如果此时我让她辞掉那份工作而再到北京来,我想她一定会辞掉那份工作的。但我并没有让她辞掉那份工作,而只是在QQ上或电话中开导她,给她解闷,我更多的还是把她当成一个妹妹来看待。所以后来盈就继续做着那份工作,一直到后来我也不知道的某个时间。

交由万网公司去做的网页改版的工作仍在进行中,虽然他们的设计人员已设计出了网站首页效果图的好几个版本,但都不能让小李总觉得满意,究其原因,一是因为他们的设计人员也并非是什么高手,难胜任务;二是因为他们的设计人员毕竟对我们公司的票务业务需求不了解,不能真正理解网页上要实现的功能效果和布局。因此网页改版的工作仍不能在短时间内完成,我们只好继续等待。

由此也可见,虽然万网公司规模较大,但他们的设计人员也无非是像我或小京这样的职场之人,其水平难免有高有低,所以万网公司的设计实力也不见得一定就强。

网站论坛系统摆上线后,虽然偶尔会遇到一些小Bug需要修正,但问题毕竟不多,所以我上班时反而出现了难得的空闲状态。这正好给了我一个难得的时机,我可以利用这些空闲时间去重新组织公司网站类库项目的程序代码,以便在网页改版工作完成后需修改公司网站的程序时,我可以进行改动。

借助Reflector这个反编译工具,我又将由公司网站的类库项目所编译出来的DLL文件进行反编译,然后再阅读这些反编译出来的程序代码。我给自己定的要求就是,一定要将这些程序代码读懂后,才将其放到之前已建立起来的新类库项目中去重新组织起来。除了阅读这些反编译出来的程序代码外,我还需要结合网站页面的代码后置类文件程序代码、网站的数据库和网站功能的实际操作来一起理解。这是一套系统性的网站系统,所以只有这样结合起来才能真正读懂这些反编译出来的程序代码,并弄明白公司网站程序所反映的实际业务逻辑,也只有这样,我才能真正对公司网站程序有一个全面的了解和把握。

自己编写程序是一回事,阅读别人开发出来的程序又是一回事。自己编写程序,我可以按照自己的思路去进行,但阅读别人开发出来的程序,我就必须将自己的思路转变成开发者的思路。尤其是此时我所阅读的,是ASP.NET程序,而ASP.NET是我刚刚学习过、但还没有真正用于开发实践中的。所以这对我来说难度不小。而且公司网站的这些ASP.NET程序本身也相对复杂,所以我读起来就难度更大。

但是这些难度相对于我几乎从零开始去学习网站开发技术的难度来说,以及相对于我将那本厚厚的六百多页的ASP.NET的书学完的难度来说,几乎不值一提。于是我凭着自己的执着和毅力,又开始了新一轮的尝试。

很多事情往往都是你尝试过后才知道,原来你行。经过一番努力,在克服最初的困难后,我对这些ASP.NET程序的阅读变得越来越顺畅,而且从阅读这些程序中,我也渐渐理解了开发者的思路,通过阅读这些程序,我仿佛和这位开发者有了思想上的交流,我碰撞到了他开发思想中的精髓。这使我更深刻地理解了ASP.NET的机制和原理,以及领悟到了他作为程序员的良好的编码风格。他编写的每一行代码,都几乎作了最严谨的处理,以力求使程序做到简洁明了且逻辑准确无误,这正是一名合格的程序员的基本素质。正是受此影响,在后来我所做的开发中,我都尽量要求自己将代码写到最规范,并严格要求自己做到使程序逻辑准确无误。而且此时我在阅读中所看到的一些写得很好的函数和方法,我在日后的开发中也用到了。

虽然Reflector反编译出来的程序代码跟原代码在格式上(主要是变量名)会有一定的出入,但实际的程序逻辑并没有改变,所以我每读懂了一段代码后,只需将其稍作修改后就可以将其用到新类库项目中。阅读程序变得容易了,重新组织程序代码的工作也变得轻松起来。虽然不是自己开发,但这就像站在别人的肩膀上,可以看到更多和看得更远。在重新组织程序代码的过程中,我渐渐地感觉到自己在ASP.NET和数据库存储过程编写等方面的水平都得到了很大的提高。我也开始对修改公司网站的程序和核心功能有了信心,只要我将那些类库项目的程序代码全部重新组织好后,我就可以去做这项工作了。

我不得不由衷赞叹的是,公司网站的购物车功能、订单处理功能、票品产品发布功能等功能都做得很好,而且程序也写得很好,尤其是那个票品产品发布功能,在数据库的存储过程中用了三层嵌套的循环来处理数据的写入,可以一次就实现一场演出的多场次、多票价的数据写入,使功能操作简单便捷,工作高效。

听小魏说,公司网站程序就是上一程序员所开发的,那个程序员已在公司做了很久,原来公司网站程序是用PHP做的,后来他则用ASP.NET将其重做了一遍,这即是此时公司网站的程序。当然小魏并不懂得PHP和ASP.NET是什么,这是我根据她所说的内容理解出来的。小魏说,上一程序员也不是计算机专业毕业,而是靠自学学会的,而且水平也很厉害,但他要比我大好几岁,这时他应该30岁左右。所以我姑且称他为仁兄。

我根据网上所查信息得知,VS2003于2003年推出,这位仁兄在我2004年10月入职前已用VS2003(ASP.NET 1.1)来开发公司网站程序,而在我在公司所使用的电脑上我也曾看到过这位仁兄使用过VS2002(ASP.NET 1.0)的记录,由此可见这位仁兄早在2004年VS2003刚推出不久时,就熟练运用ASP.NET来进行开发了,他是应用ASP.NET的“先行者”。

这无疑给了我很大的鼓舞和信心,原来不是计算机专业毕业而走进程序员行列的,并不是只有我一人,而眼前的例子也证明了,不是科班出身也同样可以做得很好。

小魏说,在招聘我进来之前,这位仁兄正在做公司网站的新功能,但当时的总经理,即后来招我进来的那位经理的朋友,一再要求这位仁兄加快开发速度,而且给这位仁兄的开发需求不断变更,所以这位仁兄一气之下就辞职走人了,而且工作还没有交接完就离开了公司。

当中的是非对错,我无法多作评论,而且用小京的话来形容,这位仁兄有点“得瑟”,但这完全不妨碍我对这位仁兄的佩服和景仰,他仿佛成了我的精神榜样,让我更明确地找到了前进的指引和方向。原来这就是我所向往的技术“大牛”,而技术“大牛”也曾如此近距离地和我在不同的时间出现在同一个空间上,我此时在公司所使用的电脑、所坐的座位,都是这位技术“大牛”曾使用过、曾坐过的。

后来在我也到了快30岁,并也成了一名技术“小牛”的时候,我完全理解了这位仁兄一气之下就辞职走人的做法,对于那些不断要求加快开发速度、不断变更开发需求的做法,我也深恶痛绝。

直到现在,我都清楚地记得小魏所说的,这位仁兄是天津人,而他的名字就叫津。这位未曾谋面的仁兄,谢谢他!是他开发的这套程序让我在ASP.NET上走得更快。

这篇关于《当程序员的那些狗日日子》(十三)重组程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/808240

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

这些心智程序你安装了吗?

原文题目:《为什么聪明人也会做蠢事(四)》 心智程序 大脑有两个特征导致人类不够理性,一个是处理信息方面的缺陷,一个是心智程序出了问题。前者可以称为“认知吝啬鬼”,前几篇文章已经讨论了。本期主要讲心智程序这个方面。 心智程序这一概念由哈佛大学认知科学家大卫•帕金斯提出,指个体可以从记忆中提取出的规则、知识、程序和策略,以辅助我们决策判断和解决问题。如果把人脑比喻成计算机,那心智程序就是人脑的

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

为什么现在很多人愿意选择做债务重组?债重组真的就这么好吗?

债务重组,起初作为面向优质企业客户的定制化大额融资策略,以其高效周期著称,一个月便显成效。然而,随着时代的车轮滚滚向前,它已悄然转变为负债累累、深陷网贷泥潭者的救赎之道。在此路径下,个人可先借助专业机构暂代月供,经一段时间养护征信之后,转向银行获取低成本贷款,用以替换高昂网贷,实现利息减负与成本优化的双重目标。 尽管债务重组的代价不菲,远超传统贷款成本,但其吸引力依旧强劲,背后逻辑深刻。其一

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati