性能差是一种美德
ReSharper已经成为.Net开发必备工具. 其贴心的功能和快捷键设计让coding过程可以行云流水般随心而动. 可最近在客户这边写代码时却总是磕磕绊绊, 只因ReSharper变得奇慢无比, 之前从来没感觉ReSharper这么慢. 原因很简单: 类太大了. 一个.cs文件普遍在4000~5000行之间, 而partial class被大量使用, 通常一个完整的class大约横跨3个上述规模的.cs文件(据客户开发人员介绍说也是因为太大才用的partial class).
开始的几天真是很折磨. 对于比较熟悉的修改, 以前通常Alt+Enter按下去后可以直接再按一下Enter选择第一个选项.可这边直接再按Enter的话就真的回车了, 因为Alt+Enter后ReSharper需要很久才能分析完把选项show出来, 在此过程中居然还会显示一个浅黄色的tooltip说"Analyzing...". 之前从来没见过这个tooltip.
最后的结果是我们把类按职责拆了, 虽然我们本来的目标也是重构. 因此性能差此时是一种美德, 为了好的开发体验, 可以迫使开发者调整代码的结构. 希望ReSharper不要修复这个问题.
甚至ReSharper可以改变它的license model: 按可以打开的文件大小来收费. 只需打开200行以下文件的可以很便宜, 行数越高收费越高, 让你真切的体验一下技术债的现世报.
Eclipse CDT 在打开大文件时有提示, 估计很多人没见过那个对话框. 当时是在另外一个客户那边见到的. 不知道JDT有没有.
Bug是一种Feature
有一次和客户的开发者一起用Visual Studio(忘了哪个版本)调试一个C程序, Step into 一个函数的时候, 发现光标到了第2000多行, 可那个函数的定义明明在6万多行, 2000多行处完全不搭界. 试了几次都这样. 在调试别的函数的时候也有类似情况. 后来试着猜了一下, 可能Visual Studio内部用16位的short类型来保存调试时光标所在的行数. 当行数超出65536时, 它就溢出了, 回到开头了. 随便一想, 没有去仔细求证. 如果是真的, 倒也是一个不需要修复的bug, 应该是一个feature, 还是考虑一下怎么把文件弄小吧.
--IDE 不应该提供粘贴拷贝功能
分享到:
相关推荐
**SCSI(小型计算机系统接口)总线与IDE(集成设备电子)接口是两种广泛用于存储设备连接的技术,它们在计算机硬件系统中扮演着至关重要的角色。本文将深入探讨这两种接口的协议、应用以及编程方面的知识。** **一...
Embest IDE for ARM 是一款功能强大且高度集成的图形界面操作环境,旨在帮助开发者快速、轻松地开发嵌入式软件。下面是 Embest IDE for ARM 的一些重要知识点: 1. Embest IDE 的定义:Embest IDE 英文全称是 ...
在自动化测试领域,Selenium IDE是一个非常重要的工具,它是Selenium套件的一部分,专为Firefox浏览器设计。它作为一个直观的录制和回放工具,使得测试脚本的创建变得简单快捷。然而,由于浏览器的更新和扩展的兼容...
LiteIDE,全称为“Lightweight Integrated Development Environment”,是一款专为Google Go语言设计的轻量级、开源且跨平台的集成开发环境(IDE)。由国内开发者精心打造,它旨在提供一个简洁而高效的编程环境,...
IDE(Integrated Drive Electronics)是一种老式的硬盘接口,现在已经逐渐被SATA接口所取代。IDE接口由Compaq和Western Digital公司开发,新版的IDE命名为ATA,即AT bus Attachment。IDE接口在设备和主板侧的外观为...
Python是一种广泛使用的高级编程语言,尤其在科学计算、数据分析、人工智能等领域有广泛应用。为了提高开发效率和代码质量,选择一个合适的集成开发环境(IDE)至关重要。Wing IDE就是一款专为Python开发设计的强大...
对于程序员来说,一个高效的集成开发环境(IDE)是提升开发效率的关键工具,而Poseidon就是这样一款专为D语言打造的IDE。 Poseidon IDE提供了D语言开发所需的一系列功能,旨在提高开发者的生产力。以下是它的一些...
SCSI总线和IDE接口是计算机硬件接口技术中两项重要而经典的技术。...通过对SCSI和IDE这两种经典接口的详细解读,本书为读者提供了一个从基础到进阶的技术学习途径,并为未来的接口技术研究奠定了坚实的基础。
IDE(Integrated Drive Electronics,电子集成驱动器)是一种硬盘接口技术,旨在将硬盘控制器与盘体集成在一起,以提高数据传输的可靠性和减少硬盘接口的电缆数目和长度。IDE硬盘的出现标志着硬盘技术的一大飞跃,它...
Omega IDE是一种极其快速,极其轻巧的产品,并且是从头开始编写的跨平台Java IDE。 它也是用于其他编程语言的即时IDE。 Omega IDE的所有Binaries均使用GraalVM(最快的JVM)进行编译。 要在任何地方运行Omega ...
《SCSI总线和IDE接口:协议、应用和编程(第二版)》是一本深入探讨SCSI(小型计算机系统接口)和IDE(集成设备电子)接口技术的专业书籍。虽然出版时间较早,但其核心知识在当今的硬件系统设计和驱动程序开发中仍然...
IDE 硬盘电源接口转换 SATA 是一种非常有用的技术,因为在我们维护电脑时,仍然会遇到一些老式的 IDE 硬盘,那么如何将它们转换为 SATA 电源接口呢?下面我们将详细介绍这种技术。 首先,我们需要了解什么是 IDE ...
它提供了一种直观的图形界面,使得用户可以在界面上直接编写代码,通过内建的编译器将Python代码转换为K210可执行的二进制文件。此外,IDE还集成了串口监视器,方便查看运行时的输出信息,对于调试程序非常有帮助。 ...
在Java编程环境中,Bug报告书尤其关键,因为Java是一种广泛应用的编程语言,其软件系统的复杂性可能导致各种运行时错误、逻辑错误或性能问题。 【描述】:“Javabug描述报告书”是针对Java应用程序中发现的错误而...
快速排序实现,实现时间性能分析(IDE:xcode)
汇编语言是一种低级编程语言,它是计算机硬件可以直接理解和执行的语言。在软件开发领域,汇编语言被用于编写高效、底层的代码,尤其是在需要直接操控硬件资源或进行性能优化时。对于初学者来说,学习汇编语言可以...
3. **GCC编译器**:STM32CubeIDE集成了GNU Compiler Collection (GCC),这是一种广泛使用的开源编译器,支持C和C++语言,可以生成高效、跨平台的代码。 4. **调试器**:IDE内含STLink/V2和J-Link等多种调试器驱动,...
Eclipse IDE 4.7.3 是一个广泛使用的开源集成开发环境(IDE),主要用于Java编程,但同时也支持其他编程语言。这个版本的Eclipse源码是开发者深入理解其内部工作原理,进行定制化开发或者贡献代码的重要资源。下面将...