SharpDevelop的亮点—优化提示
用惯了Visual Studio,像被惯坏了孩子,很难适应别的IDE。
上个月Win7系统崩溃了,重装后,自然VS也没了。这次下定决心,绝对不在自己电脑上用VS了,于是重新捡起SharpDevelop,晚上下班后写写小代码足够用了,以自己现在这种经验,再受IDE的局限应该很小了。
用了最新SharpDevelop 5.1后,发现其一个很不错的功能,类似VS中自动添加命名空间,或实现接口成员,不过功能更强大,除了上述功能,还可以对优化代码作出提示。
这种提示是在每行的开头,会出现有个铅笔的图标,目前发现大体有这几个:
1. 函数名直接作委托参数
虽然Lambda表达式很方便,但是经常忽略了,如果表达式只是调用了一个函数,并且该函数参数和委托参数一致,就会提示你直接用该函数名,更为简洁。
2. 若要dispose,使用using
如果你代码中,创建一个使用Dispose模式的对象,在处理逻辑代码后调用Dispose方法,会提示你使用using,帮助你提高代码健壮性。
3. Any方法
Linq里面的Any方法,名字很让人迷惑,其实和List/Dictionary的Contains方法一样,应该是为了避免和这些类型固有的Contains方法冲突,但这样的结果,导致至少是我,很长时间内都没用过Any方法,而是用Count(n=>n>0) > 0这种方式判断集合内是否存在符合条件的元素。如果用了最新的SD,IDE会第一时间提示你改用Any方法,点赞!同时吐糟那个这个方法名。
新版的SV,还有个不错的地方,就是重写ToString方法时,会自动产生将属性用String.Format输出的代码。虽然是个小细节,可这些VS忽略细节如果多起来的话,或许大家会逐渐觉得,没了VS也能Coding完美世界。
SharpDevelop的亮点—优化提示的更多相关文章
- Android 性能优化提示
原文 http://developer.android.com/guide/practices/design/performance.html 性能优化 Android应用程序运行的移动设备受限于其运 ...
- CentOS内核优化提示:cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录
临时解决,重启失效 modprobe br_netfilter 为了开机加载上面这个模块 cat > /etc/rc.sysinit << EOF #!/bin/bash for f ...
- [MySQL Reference Manual] 8 优化
8.优化 8.优化 8.1 优化概述 8.2 优化SQL语句 8.2.1 优化SELECT语句 8.2.1.1 SELECT语句的速度 8.2.1.2 WHERE子句优化 8.2.1.3 Range优 ...
- Android App 性能优化实践
本文记录了Android App优化需要用到的工具和以及在实践中的Tips.也算对我这半年来部分工作的总结. 工具 Hierarchy Viewer 是 Android SDK 自带的 Layout ...
- Android布局优化
前言 本篇文章为Android优化的布局部分,该部分应该是Android中很重要的,无论是在自定义控件中,还是在简单的书写布局时,都应该尽量遵循一些优化原则,这样布局的绘制效率才会更高,体验才能更好. ...
- magento性能优化
magento性能优化 14个快速加载web页面的技巧: 减少HTTP请求数使用CDN增加过期头信息gzip压缩传输内容将css样式表放在页首将js文件放在页尾不使用css表达式尽量少用内联式的css ...
- magento性能优化的教程(非常详细)
Magento是一套专业开源的电子商务系统,Magento设计得非常灵活,具有模块化架构体系和丰富的功能但有朋友会发现此模块用到了会发现非常的缓慢了,那么下面我们来看关于magento性能优化的例子. ...
- Android开发之布局优化
1.抽象布局标签 (1) <include>标签 include标签经常使用于将布局中的公共部分提取出来供其它layout共用,以实现布局模块化.这在布局编写方便提供了大大的便利. 以下以 ...
- SQL优化策略高级优化经常使用-1(The Return Of The King)
1 经常使用的优化策略 1.1 语句 1.1.1使用实际的列名 当我们查询SQL语句时.你是否觉得使用实际的列名比使用*更快呢?答案是肯定的. 为了证实这一点,感兴趣的朋友能够自己验证一下.我这 ...
随机推荐
- 课程设计 --- 黑白棋中的 AI
原文链接:https://www.dreamwings.cn/reversi/3013.html 到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都 ...
- 初学者-ASCII码 数字转字母
var index=1; var byt = new byte[1] {(byte) (index + 64)}; var grade = Encoding.ASCII.GetString(byt); ...
- ionic项目 环境搭建及基本操作
一.安装 1.安装node.js 3.安装ionic & cordova: 命令行输入:npm install –g cordova ionic 注:-g表示全局安装,也可以进入指定的目录安装 ...
- R语言基本操作函数---变量的基本操作
1.变量变换 as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x) ...
- 微信小程序-视图模板
定义模板 使用name属性,作为模板的名字.然后在<template/>内定义代码片段,如: <!-- index: int msg: string time: string --& ...
- 读《编写可维护的JavaScript》第八章总结
第八章 避免“空比较” 我们在对传进来的参数做处理之前,肯定需要验证一下是否是我们想要的,也就是说大多数情况下,我们需要对比一下它的类型. 作者首先给了一个看起来都感觉不对的代码: var Contr ...
- HashMap原理与优化
参考文献: HashMap的工作原理 java中HashMap重要性质和优化总结 一.HashMap的基本了解 基本定义:根据源代码的描述可知,HashMap是基于哈希表的Map接口的实现,其包含了M ...
- sqllite 入门
链接: http://www.jb51.net/article/52064.htm
- 为什么JAVA的垃圾回收机制无法避免内存泄漏
一.本文参考: 1.<深入理解java虚拟机 JVM高级特性与最佳实践> 2.http://coderevisited.com/memory-leaks-in-java/ ...
- volatile关键字并不能作为线程计数器
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...