8

我正在尝试建立一个可重用代码库以在项目之间使用。当我编写代码片段和组件时,我试图决定哪些库我会从长期 VS 中得到最多的使用,我真的会再次使用它吗?

每个开发人员都应该重用哪些代码或组件?

我主要对.net web 和winforms 感兴趣。

4

16 回答 16

11

用于验证的正则表达式

  • 有效日期
  • 有效号码
  • 两个日期之间
  • 压缩
  • 邮政
  • 年龄
  • 号码范围

取决于语言,因为有些已经具备这些功能

于 2009-01-23T22:41:42.723 回答
6

*nix 操作系统(Unix、Solaris、Linux、MacOS、Cygwin)和它的“经典”命令行实用程序集。

合并、混合、烘焙、粉碎和滥用这些基本概念的方式是无法估量的。

于 2009-01-24T00:00:41.627 回答
2

我个人认为一个好的框架应该提供这些工具,而不是你。如果不是语言的默认库(Java 就是一个很好的例子)。

于 2009-01-23T22:37:42.217 回答
2

这取决于您编写的应用程序类型。所以我认为没有任何问题的真正工具箱。(或者它应该是框架)。

我们有几个应用程序和一个跨应用程序库。其中包含大量代码:

  • 打印功能。
  • 形状处理(我们对形状和多边形做了很多工作)
  • 分贝计算
  • 一般应用程序行为(housestyle)。

每次我们在一个应用程序中有一些可能对其他应用程序有用的东西时,它就会被移到库中。

于 2009-01-23T22:42:38.023 回答
2
  • 数据库池代码
  • 日志记录
  • 字符串和集合操作
  • IoC 维护(注解或 XML)
  • 文件和目录处理

其中一些可能随 VM 或标准库一起提供,但您总是需要一些额外的东西。

于 2009-01-23T23:35:40.943 回答
2

一段时间以来,我一直致力于为 c# 创建一组可重用的代码。通过一次添加 1 个组件,更重要的是,将框架用于真正的应用程序,我终于使框架变得简单、有据可查,并带有各种易于反复使用的“模块”。

在 CodePlex 上的 CommonLibrary.NET 上查看

它比 SpringFramework 和 MS App Blocks 更简单、更轻量级。

它包括以下内容:1. 参数/选项解析 2. ActiveRecord/域模型类 3. 集合 4. 验证等等。

于 2009-07-24T04:05:25.437 回答
1

我很容易想到:

  • 链表模板
  • 红黑树模板
  • 数据库初始化 mini-api(用于您喜欢的数据库或持久层)
于 2009-01-23T22:35:57.117 回答
1

我认为这将根据语言和您可能使用的框架必须提供的内容而有很大不同。许多所需的可重用代码将位于现代框架中。

于 2009-01-23T22:41:33.143 回答
1

答案取决于你的目标——通常使某些东西“可重用”在开始时需要更多的努力,但当然,在重用时会得到回报——当然,前提是它是真正可重用的。有时这种能力被高估了... IMO ...

这个问题的真正答案将在你编写代码时得到解答——当你发现自己说,哎呀,我上周刚刚写了这样的东西。

我的“工具箱”由字符串、数学、网络、数据库、文件、日志记录和许多其他“库”例程(程序集等)组成,我可以快速将其作为参考。当然,使它成为一个活库的关键是让这些库项目的代码真正与正在开发的应用程序/代码分开。

希望能帮助到你 ...

于 2009-01-23T23:03:46.330 回答
1

好问题

  1. 业务对象级缓存
  2. 我自己的自定义身份验证工具包
  3. jQuery 选择器
  4. 用于表单、选项卡和 ui 元素的 css
  5. 密码等的加密和散列

虽然我开始用企业库替换我的东西 - http://msdn.microsoft.com/en-us/library/cc467894.aspx - 它至少随着时间的推移得到改进并且比它有更多的关注我的实现

于 2009-02-20T16:54:52.830 回答
0

在 .Net 中:

  • .Net Framework 中没有的扩展方法(ForEach、AddRange、RemoveWhere 等)
  • Switch.Type语句(针对访客)
  • 基本参数验证 (Argument.EnsureNotNull)

这几乎是全部,各种免费库覆盖了其余部分。

于 2009-01-23T22:55:25.753 回答
0

PKI 认证

于 2009-01-23T23:48:13.993 回答
0

我的两个:

  • 依赖注入代码,让你可以让它更可测试;并且不依赖于单例的单个实现。

  • 模块化/插件功能。让它可模拟也是一个好主意,这样您的客户端代码就可以在不调用成熟的插件系统的情况下进行测试。

两者都有几种实现,但有时您无法避免自己编写。:(

于 2009-01-24T00:58:17.207 回答
0

解析类

日期操作类

消息类

验证类

于 2009-01-24T12:16:22.827 回答
0

作为一个疲倦和心怀不满的代码维护者,我会以不同的方式看待这个问题:项目需要使用什么代码,以避免七个*开发人员创建七个不同的解决方案,当某些事情发生变化时需要七处修改(在发现有七个不同的解决方案)。

我想大多数人将重用视为初始开发中的一种效率工具,而忘记了它也是高效维护的关键。

*我认为只有七个,但我仍在测试中。

于 2009-10-09T12:43:50.027 回答
0

一个可以处理货币、分配、算术运算和格式化的 Money 类。

于 2009-10-09T12:48:32.077 回答