1

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

在我看来,随着时间的推移,成为一名优秀开发人员的因素是理解和学习新事物的意愿。因此,当我使用 3rd 方产品时,我将始终尝试了解“幕后”发生的事情。

我在 Reflector 中花费了大约 10-15% 的时间来了解当我调用方法 X 时我到底在做什么。

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

4

11 回答 11

1

对我来说,这取决于。当我学习新的技术堆栈或 API 时,我通常会使用 Reflector,并且我对它的使用会增加。

例如,我最近开始使用 Commerce Server 2007 API。出于好奇,我发现关于 Profile System 的许多文档不完整或缺乏足够的细节。于是我爆出反射器,用它来检查Commerce Membership Provider的实现(更不用说原生asp.net sql members provider的实现了)。

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

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

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

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

每天我会花多少时间使用反光板?没那么多,取决于项目以及所涉及的技术是熟悉的还是新的。

于 2008-09-17T13:56:03.543 回答
1

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

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

于 2011-04-13T05:29:55.277 回答
0

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

除此之外,我不会花太多时间反编译库。大多数情况下,只有当某些东西不起作用并且问题清楚地指向一个组件并且我不想在我真正舒尔之前打扰其他人时。

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

于 2008-09-17T13:46:59.870 回答
0

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

于 2008-09-17T13:47:54.453 回答
0

我使用reflektor 有点好玩,但现在我根本没有使用它。

由于我们获得了 c# 程序的所有源代码,因此不需要反编译任何东西。

于 2008-09-17T13:49:41.110 回答
0

我想我可能在某个时候花了 5%-10% 的时间在 Reflector 上——当我第一次学习 .Net 时。这些天可能每月不到 1/2 小时。但后来我不使用很多 3rd 方库。

源代码/文档,很难说。(是的,就像开源代码 HAS 文档......)人们不得不将我的一般博客阅读的某些部分归因于这一点,但很难说百分之多少。

于 2008-09-17T13:51:36.440 回答
0

也许2-3%?主要使用这个 DSM 插件: http ://www.tom-carter.net

于 2008-09-17T13:54:07.653 回答
0

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

于 2008-09-17T13:55:45.573 回答
0

我用它所有的时间。当您可以看到实际来源时,为什么还要查看可能存在缺陷的文档?

于 2008-09-17T14:28:19.037 回答
0

如果我针对库写作,我有源代码我很少使用它,因为我有源代码。

如果我针对 .Net 库进行写作,我可能会花费 5% 的时间,只有在使用我不熟悉的东西并且 Google/MSDN/StackOverflow 让我失望时。

在使用 3rd 方库时,我可能会花费 20% 的时间使用 Reflector,因为它通常比提供的贫乏文档要好得多。在一个项目中,我可能花费了 50% 的时间使用 Reflector,因为对这个特定产品不利的文档/论坛/知识缺少我需要的东西或完全错误。

我发现当我不需要使用 Reflector 时我很高兴——它是一个很棒的工具,但使用通常意味着我遇到了一个不好玩的棘手问题。

于 2008-09-17T13:58:01.357 回答
0

我大概有 1% 的时间花在 Reflector 上。这是一个非常漂亮的工具,但是因为我们在内部编写了这么多代码,所以不需要反编译任何 dll。

于 2008-09-17T14:25:51.210 回答