【问题标题】:Fastest way to get productive in VS 08 and C# [closed]在 VS 08 和 C# 中获得生产力的最快方法 [关闭]
【发布时间】:2010-09-14 17:47:26
【问题描述】:

我最近一直在使用 Komodo Edit 和其他更简单的编辑器使用 Python,但现在我正在做一个项目,该项目将使用 VS 08 在 C# 中完成。我希望能提供有关如何在该平台上尽快提高工作效率的任何提示尽可能。

【问题讨论】:

    标签: c# visual-studio visual-studio-2008 development-environment


    【解决方案1】:

    就精通 C# 而言,我强烈推荐 Programming C#C# in Depth

    对于 Visual Studio,开始在 IDE 中四处寻找、玩耍、熟悉它。从简单的项目开始,探索所有不同的方面。了解如何 optimize Visual Studio 并熟悉 IDE 的一些出色的 keyboard shortcuts / hidden features

    请务必至少执行以下每一项操作:

    项目:

    • 创建一个简单的控制台应用程序(例如 hello world)
    • 创建一个类库(托管 .dll)并在您创建的另一个应用程序中使用它
    • 创建一个简单的 Windows 应用程序
    • 创建一个简单的 asp.net 网络应用程序

    调试:

    • 调试命令行应用程序
    • 熟悉:断点、本地和监视窗口、跨步、步入、步出、继续、停止调试
    • 创建一个使用类库中的函数的命令行应用程序。存储库的 dll 和符号文件 (.pdb) 但删除源代码,在进入库时通过应用程序进行调试
    • 调试到网络服务
    • 了解如何使用 ILDasm 和 ILAsm

    命令行:

    • 熟悉 Visual Studio 命令行环境
    • 仅使用命令行构建
    • 使用 devenv.exe /debugexe 从命令行调试
    • 从命令行使用 ILDasm / ILAsm 将一个简单的应用程序反汇编为 .IL,将其重新组装成不同名称的文件,测试它是否仍然有效

    测试:

    • 创建单元测试(右键单击方法,选择创建测试的选项)
    • 了解如何:运行所有单元测试、在调试器下运行所有​​单元测试、重新运行失败的单元测试、查看测试失败的详细信息、运行单元测试的子集
    • 了解如何为您的测试收集代码覆盖率统计信息

    源代码管理:

    • 了解如何在使用 VS 进行开发时与您选择的源代码控制系统进行交互

    重构等:

    • 熟悉所有内置重构(尤其是重命名和提取方法)
    • 使用“转到定义”
    • 使用“查找所有参考”
    • 使用“在文件中查找”(ctrl-shift-F)

    IDE 和键盘快捷键:

    • 了解如何将设计器很好地用于 Web 和 winforms
    • 熟悉解决方案资源管理器窗口
    • 尝试不同的窗口布局,直到找到适合自己的布局,稍后继续尝试,看看这是否仍然是最佳选择
    • 了解智能感知的来龙去脉,尽可能利用它来发挥自己的优势
    • 了解您所做的一切的键盘快捷键

    【讨论】:

      【解决方案2】:

      Python 到 C# 的转换

      您通常通过将其功能与您已经知道的语言进行比较来学习下一种语言。由于您熟悉 Python,因此请阅读一些 Python/C# 比较,例如 "A Python Programmmer's Perspective on C#""Does C# 3.0 Beat Dynamic Languages at their Own Game?"。 C# 3.5 和 Python 之间的差异并不大。

      【讨论】:

        【解决方案3】:

        选择一个您过去完成的 Python 项目,然后手动将其转换为 C#。这就是我学习我目前知道的所有语言的方式(x86 汇编除外)。

        考虑使用 IronPython 来帮助弥合差距 - 您可以通过 IronPython 引用 .NET 程序集,也可以创建 .NET 程序集以从 C# 引用。

        此外,请远离那些 21 天学习 C#! 书籍...它们几乎从不辜负炒作,而且通常比不错。

        【讨论】:

          【解决方案4】:

          我认为从 Python 到 C# 的转变是进化阶梯的一步。 期待更详细的体验(例如变量声明和类属性)。

          关注IronPython - 它将帮助您使用熟悉的语言感受 .NET。 Python 的动态特性使得检查 .NET 行为比检查 C# 中的想法要快得多。您可以通过 IronPython Studio 直接在 Visual Studio 中使用 IronPython

          【讨论】:

          • 没错,我对这种变化不太满意,但你能做什么?关于 IronPython 的要点。谢谢。
          • 我不明白你怎么能做出这样的声明。 C# 和 Python 是两个独立的工具。每个都有自己的用途和优势。
          • Jeremy Cantrell - 我为主观陈述道歉 - 这是个人品味的问题。该声明针对的是从一种语言切换到另一种语言的原始发帖人 (Mignus Rude)。我不是有意发动一场语言战争。
          【解决方案5】:

          对于每一种工具、系统、语言或其他任何东西,获得生产力的最快方法是(至少对我而言)了解背景,而不是从 hello world 开始,然后从一个命令跌跌撞撞地跳到你认为你认为的下一个命令需要。

          因此,请购买一本好书(例如 Microsoft Press)或访问 Microsoft MSDN 和 Technet,并尽可能多地阅读背景资料。详细资料(在书本或网上)可以稍后参考。

          此外 - 为了提高工作效率 - 加入邮件列表、IRC、用户组等,以使用相同的工具、系统、语言等了解其他人的日常问题。

          然后 - 一两周后 - 开始编程。

          我知道,这不是一个人在开始使用一种新语言时想要做的事情。但对我来说,这种方法在过去几年里效果最好。

          【讨论】:

            【解决方案6】:

            我个人会首先专注于学习 C# 和 .NET 的核心部分。对我来说,这意味着编写控制台应用程序(而不是 Windows 窗体)来试验语言和 IO 等重要方面。当您对基础感到满意时,请转向您的项目所需的任何“外围”技术(WinForms、WPF、ASP.NET、WCF 等)。

            在书籍方面,我可以推荐C# 3.0 in a NutshellAccelerated C# 2008。链接是我对这些书的评论。两者都涵盖语言 + 核心库。 一开始我不会太担心 LINQ - 在处理 LINQ 之前,先熟悉语言的其余部分,尤其是委托和泛型。在这一点上,我彻底建议在开始使用 LINQ to SQL 或实体框架之前使用 LINQ to Objects 一段时间。 (另一方面,如果您需要使用 XML,我会直接使用 LINQ to XML - 它是一个完整的 XML API,而不仅仅是一个 LINQ 提供程序。它比普通的 DOM API 好得多。)

            【讨论】:

              【解决方案7】:

              我将不胜感激有关如何 在该平台上获得生产力 尽快。

              实践经验我的朋友。 开始尽快使用它以提高效率尽快

              一些明显的建议是:

              • 为频繁操作创建快捷方式\宏\模板。 强制自己使用快捷方式而不是点击菜单
              • 安装 ReSharper - 将让您的工作效率提高 1000%(如果您有几块钱可以购买)

              不要犹豫,不时查看manual :)

              【讨论】:

              • 他应该远离使用像 ReSharper 这样的插件,直到他对 vanilla IDE 有一定的熟练程度——并不是所有的雇主都热衷于为该许可证付费(例如我的......)
              • 埃里克,是的,贪婪的雇主并不真正了解在此类工具上投资 100 美元可以极大地提高开发人员的生产力
              【解决方案8】:

              买一本好书,开始阅读。我有Pro C# 2008 and the .NET 3.5 Platform

              既然你有一个项目要处理,那也应该会有很大帮助。

              【讨论】:

                【解决方案9】:

                我认为这取决于几件事。例如,您使用键盘多于鼠标吗?如果是这样,我会学习 VS 快捷方式。你了解 C# 吗?读一些书。我知道这很模糊,但这是一个有点模糊的问题。

                练习,练习,练习,获得经验,变得富有成效。

                【讨论】:

                  【解决方案10】:

                  微软为此提供了一个很好的学习平台:

                  http://msdn.microsoft.com/en-us/vcsharp/aa336766.aspx

                  我建议您观看“我该怎么做”视频系列。

                  【讨论】:

                    【解决方案11】:

                    做一些小项目。我头顶的一些。

                    1) Hello world
                    2) 控制台
                    3) GUI 设计
                    4) 玩具项目

                    与阅读教程相比,它们会让您更快上手。喝杯啤酒,玩得开心。

                    【讨论】:

                    • 最后一件事,买一份。视觉辅助,你可以稍后感谢我。
                    猜你喜欢
                    • 1970-01-01
                    • 2023-03-31
                    • 2013-02-06
                    • 1970-01-01
                    • 1970-01-01
                    • 2019-06-29
                    • 2011-09-24
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多