论程序的成长—— 你写的代码有生命力吗?

做了五年多的程序员了,回过头来看了看以前发的一些帖子,颇有一番感想。

我最得意的就是对数据访问的处理方法(我的数据访问层),倒不是说他有多么的强大、多么的完善,而是说他本身是在不断地“成长”,一直都没有死掉。

什么叫做死掉呢?

这是在和一个网友的交谈中感觉到的。他一开始访问数据库也是用的自己写的方法(函数),和我的思路也基本差不多,但是当他遇到SQLHelp 后感觉自己写的没有SQLHelp 好,于是就放弃了自己的代码,转而使用SQLHelp 了。这就是代码死掉了。我觉得放弃了很可惜。

我也遇到了同样的问题,我也是先写的自己的访问数据库的函数,但是当我遇到SQLHelp 后,并没有放弃我自己写的函数,而是修改我自己的函数,让她更加的强大!这就是代码的成长!

为什么要说这些呢?触类旁通。这里并不是说一定要用自己写的函数来访问数据库,而是说的这种思维方式。

自己的东东尽量不要让他死掉,而要尽量地吸收新鲜“血液”让他更强大!

=====================

在来说一下项目。

当你做完了甲项目后,再做乙项目,你会怎么做呢?(假设甲、乙两个项目类似)。

你能不能让乙项目“继承”甲项目的优点?

继承有两个方面,一个是思路方面的,一个是代码方面的。

思路方面是不是可以叫做模式(也许叫做架构)呢?用甲项目的成功经验(设计思路和方法)来设计乙项目。

代码方面就比较多了。

比如在写乙项目的时候,要实现一个功能,这个功能已经在甲项目中很好地实现了,那么您会怎么做呢?

1、把甲项目里的对应的代码copy过来,然后改一改,OK。

2、抽象一下,抽象出来一个函数(类),在乙项目中调用。

对于不同的“通用”级别可以作不同的处理,如果是在所有项目里都通用的话,可以编译成单独的DLL;

如果是项目内容用的话,可以放在单独的.cs文件里面,当然也可以编译成单独的DLL;

实现了这些还不够,这只是继承,只是单方向受益。

在写乙项目的时候又学习了一些新的技巧,可以提高效率,而且这种方法不仅适合乙项目,而且对宇甲项目也是适用的,那么乙项目写好了之后,会不会应用到甲项目?

1、不会修改甲项目。因为甲项目运作得很好,没有必要改(或者是其他的原因)。那么甲项目就“死掉”了,因为他没有及时地更新。

2、会修改甲项目,但是修改起来很费事,而且很可能造成bug。虽然很想修改,但是往往最终会放弃。

3、可以很方便的修改,只替换一个DLL,甲项目就升级了。

如果能做到第三种情况该多好哇!

这样收益就是双向的,甲的优点可以让乙受益,反过来这个优点在乙中得到了提升之后又可以让甲也受益。

这样就是一个良性发展了。

在实际的项目里能不能做到这一点呢?我想是可以的吧。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程一生

简单的业务更考验技术--化腐朽为神奇

1092
来自专栏IT技术精选文摘

客服系统微服务架构的演化

微服务要求 ? ? ? ? 服务协作 ? 服务治理 ? 服务治理 ? ? ? 1 怀疑第三方 坚持一条信念:“所有第三方服务都不可靠”,不管第三方什么天花乱坠...

4225
来自专栏PingCAP的专栏

性能测试工具的 Coordinated Omission 问题

很早之前就看过 Gil 大神的一篇文章《Your Load Generator Is Probably Lying To You - Take The Red ...

2515
来自专栏架构之美

五分钟学会分布式事务

1582
来自专栏李跃森的专栏

微信支付商户系统架构背后的故事

本文将以腾讯 PostgreSQL-XZ 为代表介绍腾讯自研 PostgreSQL 所做的优化和改进。

93.4K8
来自专栏做全栈攻城狮

程序员带你学习安卓开发-安卓基础之网络编程 大汇总

本系列教程致力于可以快速的进行学习安卓开发,按照项目式的方法,通常一篇文章会做一个小程序。提高学习的兴趣。

884
来自专栏chafezhou

小说python操作PLC

PLC(Programmable Logic Controller)可编程逻辑控制器,可以理解为一个微型计算机,广泛应用于工业控制中,如楼宇智控、精密机床、汽车...

1.3K2
来自专栏樊华恒的专栏

海量之道系列文章之弱联网优化 (五)

在客户端接入服务器调度策略的演化过程中,我们最早采用了“就近接入”的策略,在距离客户端更近的地方部署服务器或使用CDN,期望通过减少RTT来提高网络交互响应性能...

5900
来自专栏Android干货园

Android 轻松实现百度地图定位

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/49...

3511
来自专栏CDN及云技术分享

我是怎么一步步用go找出压测性能瓶颈

笔者要在线上服务器load日志并且重放来测一些机器性能指标。模拟机器资源比较少,相对的被模拟的线上机器日志量大,假设线上单机qps有1w,那么5台机器组成的集群...

1.7K35

扫码关注云+社区