【问题标题】:How much time do you spend in Reflector? (.NET)你在Reflector上花了多少时间? (。网)
【发布时间】:2008-09-17 13:39:19
【问题描述】:

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

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

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

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

【问题讨论】:

  • 奇怪这个问题已经被霸主关闭了。

标签: .net reflector


【解决方案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% 的时间花在工具包的源代码上。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 以防万一您不知道,他们显然有reversed their decision,并将提供带有免费许可证的“最终”版本,但仅在八月之前可用。耶。
    • @Jeff Mercado - 他们似乎做了一些反思 :) 感谢您的指点
    【解决方案3】:

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

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

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

    【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

            如果我写的是库,我有源代码,我很少使用它,因为我有源代码。

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

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

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

            【讨论】:

              【解决方案9】:

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

              【讨论】:

                【解决方案10】:

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

                【讨论】:

                  【解决方案11】:

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2017-09-20
                    相关资源
                    最近更新 更多