你在Reflector花了多少时间? (。净)

时间:2008-09-17 13:39:20

标签: .net reflector

作为一名顾问,我可以使用许多不同的产品和API,因为客户要求我们使用X和Y.我认为这很有趣,而且我从中学到了很多东西。

在我看来,随着时间的推移,一个优秀的开发人员将会有理解和学习新事物的意愿。因此,当我使用第三方产品时,我将始终尝试了解“幕后”会发生什么。

我花了大约10-15%的时间在Reflector中学习当我调用方法X时我真正在做什么。

您平均花费多少时间?这也可能适用于阅读(开放)源代码,文档等。

11 个答案:

答案 0 :(得分:1)

对我而言,这取决于。当我学习新的技术堆栈或API时,我通常会打破Reflector,并且我对它的使用率会上升。

例如,我最近开始使用Commerce Server 2007 API。我发现很多关于配置文件系统的文档都不完整或者缺乏足够的细节来表达我的好奇心。所以我打破了反射器,并用它来检查Commerce Membership Provider实现(更不用说本机asp.net sql成员资格提供程序的实现)。

检查代码有助于我更好地了解会员提供商如何以及为何如何按照他们的方式工作,而不仅仅是依赖文档所说的内容。

然后,我能够继续为商业服务器实施自定义成员资格提供程序,我认为这可以弥补股票商务服务器成员资格提供程序的一些限制。虽然我的实现并不像通用和功能丰富,因为我的目标是为我的公司建立商业用户配置文件的“标准”设置和配置。

因此,当我最初使用商务服务器时,我花了20%的时间在反射器上。现在我已经有了更好的理解,我很少用它来检查商业服务器。

其次,当我第一次开始使用asp.net ajax和ajax web控件工具包时。该工具包是开源的。我最初花了相当多的时间在控件工具包代码中,文档还可以,但样本非常弱。划分为源代码有助于我更好地理解使用其各种Web控件的全部功能。它还帮助我更好地,更深入地学习如何使用asp.net ajax javascript库。最初我花了大约10%的时间在工具包的源代码中。

我每天花多少时间使用反射器?不是那么多,取决于项目以及所涉及的技术是否熟悉或新的。

答案 1 :(得分:1)

我以前经常使用它,但现在它是一个付费软件,所以花费的时间肯定会减少,主要是因为我觉得Reflector应该保持自由。

http://reflector.red-gate.com/download.aspx?TreatAsUpdate=1

答案 2 :(得分:0)

由于我为.net和compact .net框架开发,我有时会反编译完整的.net程序集以将现有功能“复制”到紧凑框架中。

除此之外我不会花那么多时间来反编译libs。大多数情况下,只有当某些东西不起作用且问题清楚地指向一个整体时,我不想在我真正害羞之前欺骗别人。

如果你想让我加上一个数字,我会说5%的时间。

答案 3 :(得分:0)

我说不到1%的时间花在Reflector上。我可以看出为什么它可能是一个很好的学习工具,但我不经常需要知道幕后发生了什么,只要它按照我的预期工作,那么我很高兴。这是一个有趣的想法。

答案 4 :(得分:0)

我使用reflektor获得了一些乐趣,但是现在我根本就没有使用它。

由于我们获得了c#程序的所有源代码,因此无需对任何反编译进行反编译。

答案 5 :(得分:0)

我想我可能已经花了5%-10%的时间在Reflector中 - 当我第一次学习.Net时。这几天可能不到一个半小时。但后来我没有使用很多第三方库。

源代码/文档,很难说。 (是的,就像开源代码HAS文档一样....)我必须将我的一般博客阅读的某些部分归因于此,但是很难说出这个百分比。

答案 6 :(得分:0)

可能是2-3%?主要使用此DSM插件:http://www.tom-carter.net

答案 7 :(得分:0)

在WindowsBase.dll上使用Reflector时,P / Invoking变得更加容易。查看COM互操作的MS.Internal.Interop命名空间,以及Win32互操作的MS.Win32.NativeMethods和MS.Win32.UnsafeNativeMethods。

答案 8 :(得分:0)

如果我正在写图书馆,那么我很少使用它,因为我有源代码。

如果我正在写.Net库,我可能花费5%的时间,只有在使用我不熟悉的东西时,Google / MSDN / StackOverflow让我失望。

使用第三方库时,我可能花费20%的时间使用Reflector,因为它通常比提供的贫血文档好得多。我花了50%的时间使用Reflector的一个项目,因为这个特定产品的文档/论坛/知识不适合我需要或完全错误。

当我不需要使用Reflector时,我发现自己很开心 - 它是一个很棒的工具,但通常意味着我有一个非常有趣的粗糙问题。

答案 9 :(得分:0)

我可能花费大约1%的时间在Reflector中。这是一个非常好的工具,但是因为我们在内部写了很多代码,所以不需要对任何dll进行反编译。

答案 10 :(得分:0)

我一直都在使用它。当您可以看到实际来源时,为什么要查看可能存在缺陷的文档?