不经过真正的洗礼,请不要说你信奉它。
Visual Studio 和 R# 可以称为.NET开发环境的黄金组合,可以帮助快速开发、重构,运行测试等,从而提升开发效率;但同时Visual Studio的性能也是业界诟病已久的问题,更不用提配上R#后的Visual Studio。最近项目切换到Linux环境下使用虚拟机进行 C# 开发,这种配置的性能问题更加突出(当然这里面也有虚拟机环境本身的其它问题)。但这引发了我的一个思考:我们每天的开发活动有多少是必须使用Visual Studio + R#?它到底带给我们什么?这是唯一的开发环境么?
看了Greg Young最近的Sublime Text系列文章,让我觉得有必要深入探索一番。
Visual Studio Benefits
在我的日常开发工作中,Visual Studio主要提供了如下几类的帮助:
- 项目模版、管理和建立工程项目
- 项目依赖管理, Nuget集成安装环境
- 编译环境
- 代码编辑环境
- 文件或内容搜索
- 文件夹和命名空间管理
- 调试运行环境(包括性能诊断)
- 与IIS集成
- 图形化界面
R#的优势和问题
R#的快捷键是它的亮点,快速定位,自动完成,万能的Alt+Enter,重构快捷键、模版等等,有了它的存在,菜单/鼠标已经基本失去了存在的价值,开发效率提高的何止一倍。R#快捷键也是我们开发团队的碎碎念,是要掌握必要技能之一。一番噼里啪啦的键盘操作成就片段干净的代码,倍爽无比。
然而,我仔细思考我的开发活动,更多的时间是在思考问题空间,思考解决方案,思考职责的划分,鉴别坏味道,代码的处理仅是决定的执行过程而已。没有R#,我们就不做这些工作了么?答案显然不是。只是R#快捷键的支持让我们更高效而已。
R# considered to be harmful?
R# 的存在让我有时会容易迷失在键盘快速敲击的激情中,片面追逐快捷键的记忆。实际上能够运用n多快捷键并不能证明我就是一个好的程序员,是一个大牛,而优雅干净的理解问题和提出基于代码的解决方案才是根本。“工欲善其事,必先利其器”是有道理的,但这需要首先弄明白这个“事”是什么。
R# 加剧了Visual Studio的性能问题,很多场合不得不通过禁用R#提高开发性能。
Visual Studio + R#的费用问题
这个就不多说了。
那么Visual Studio + R#是唯一的么?显然不是。文本编辑器作为开发工具已经实践已久,代码其实就是纯粹的文本,很多Geek喜欢Vim, Emacs,喜欢自己定制,喜欢快捷键开发,喜欢土土的命令行。但是.NET可以么?Crazy? 请跟随我一起来看看文本编辑器所能带给我们.NET开发程序员的吧。
Sublime Text as IDE - a new journey officially.
就如前面提到的,文本编辑器有很多,这次我选择了Sublime Text。Sublime Text是一款众所周知,已被业界广泛认可的、功能强大的文本编辑器。它是我们项目组编写Powershell的主要工具,在这里我对其进行重新进行学习,并通过实践来了解和评测Sublime Text对.NET开发工作的帮助。
有人可能说你是在重新造轮子么?是或者不是。是,指的是学习的角度,更好的梳理开发工作和理解IDE/R#。不经过痛苦的洗礼,哪能真正的理解和应用它;不是,指的是打开另一扇大门,寻找另外的.NET轻量级工具,简化我们的开发工作。这是一个尝试, 新的体验和新的思路,也和我一起来学习吧。也许最后的结果是仍然采用Visual Studio + R#的黄金组合,那又如何?我相信这个过程会让我更理智高效的去运用它。
这就开始吧。