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

自然框架 2007-05-11 09:06:57
做了五年多的程序员了,回过头来看了看以前发的一些帖子,颇有一番感想。

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

什么叫做死掉呢?

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

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

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

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


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

在来说一下项目。

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

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

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

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

代码方面就比较多了。

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

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

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

对于不同的“通用”级别可以作不同的处理,如果是在所有项目里都通用的话,可以编译成单独的DLL;
如果是项目内容用的话,可以放在单独的.cs文件里面,当然也可以编译成单独的DLL;

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

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

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

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

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

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

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

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

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





...全文
2672 116 打赏 收藏 转发到动态 举报
写回复
用AI写文章
116 条回复
切换为时间正序
请发表友善的回复…
发表回复
vividboy 2008-06-27
  • 打赏
  • 举报
回复
恩,坚持就是胜利!
Mystist 2007-05-19
  • 打赏
  • 举报
回复
虽然听不懂什么,还是顶吧
阿鑫 2007-05-19
  • 打赏
  • 举报
回复
嗯,楼主这种思路很好。
可以借来参考一下。
babay2008 2007-05-16
  • 打赏
  • 举报
回复
再顶一下
自然框架 2007-05-16
  • 打赏
  • 举报
回复
好了要揭帖了。
blackant2 2007-05-16
  • 打赏
  • 举报
回复
我们一直在努力
nyzfl 2007-05-16
  • 打赏
  • 举报
回复
谢谢lz分享you的经验 学习
zmacro 2007-05-16
  • 打赏
  • 举报
回复
mark
coldplay968 2007-05-16
  • 打赏
  • 举报
回复

学习
lyb_abiandbel 2007-05-16
  • 打赏
  • 举报
回复
感觉楼主到了转弯口了.

楼主需要系统的去学习面向对象的知识了,这么多年的积累马上就有质的转变了.

如果我们能很好的建立一个领域模型,然后进行合理的抽象,编程时能做到针对抽象编程,楼主所说的问题就都不是问题了.
net_lhb 2007-05-16
  • 打赏
  • 举报
回复
up
TalonSword 2007-05-16
  • 打赏
  • 举报
回复
楼主说得很不错,很有道理,不过有点抽象,不知道有没有具体的东西给我们看看,这样认识会更深刻一点,谢谢!
zengjd 2007-05-15
  • 打赏
  • 举报
回复
kimryo(God is on my side)
------------------------------------
就你这种素质还能在这个行业里混,那中国的这个行业永远也无出头之日。

还有啊,查一下IP,我在国外。
所以好像影响中国IT行业发展的,应该是你这种低素质,无思想,人云亦云的人。
net_lhb 2007-05-15
  • 打赏
  • 举报
回复
学习中!让自己的代码强大起来!
lemonmk2 2007-05-15
  • 打赏
  • 举报
回复
学习
wwi875 2007-05-15
  • 打赏
  • 举报
回复
xue xi
next007 2007-05-15
  • 打赏
  • 举报
回复
学习
自然框架 2007-05-15
  • 打赏
  • 举报
回复
想想.net跨平台的思想,不管平台怎么变,写代码的时候都不用考虑(虽然现在还不能垮,但是我们注意的是这种思维,跨的想法。想法是对头的)

再来看看语法。

c++ 是可以这么写的吧

function aaa()
{
}

c#里还是可以这样

basic 里面可以这样

sub aaa()

end sub

到了 vb.net还是这么写。

语言在升级,编译方式在变化,但是语法(基本的语法)格式上没有太大的变化。

自然框架 2007-05-15
  • 打赏
  • 举报
回复
是相互的,.net框架从 1.1升级到 2.0 ,你的 1.1 的项目就不行了吗?

大多数还是可以顺利升级的吧。至少语法上都是向下兼容的。
自然框架 2007-05-15
  • 打赏
  • 举报
回复
jyk.cnblogs.com

我的blog,里面有我的代码、想法。
加载更多回复(96)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧