Подлипенский Павел

Блог о технологиях и деньгах

Решарпер: жизнь после релиза

clock August 13, 2008 08:00 by author Подлипенский Павел

Я уже писал о фичах последнего решарпера, а сейчас хочу поговорить о будующих фичах этого замечательного продукта. Разработчики обещают оптимизировать работу с памятью и увеличить скорость работы продукта. В дополнение к этим улучшениям будет реализовано следующее:

  1. Будут добавлены новые способы/методы рефакторинга кода. Большинство из них будут из inline "семейства".
  2. Планируется расширить функционал для работы с соглашениями по кодированию. "Мы не собираемся реализовывать функционал AgentSmith плагина, мы лишь хотим избавить наших пользователей от рутиной работы" - заявляют разработчики.
  3. Также будет добавлена новая фича под названием Visual Build, целью которой будет отображать процесс сборки проекта в студии. Фича была заявлена как платформа для будующей фичи по оптимизации процесса сборки.
  4. Ожидается полная поддержка Visual Basic 9 с его анонимными функциями и XML литералами.

И не забывайте, что все вышеописанное возможно благодаря вашим feedback'ам и даже идеям.

Ссылки по теме:

Прорезь в копилке с идеями (бросать только идеи на $1 млн.)

База знаний Решарпера

Официальный сайт Resharper'a 

Currently rated 5.0 by 7 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Что нового в Resharper 4.0?

clock June 16, 2008 09:30 by author Подлипенский Павел

Ребята из JetBrains выпустили новый решарпер и теперь он доступен для "покупки" и скачивания с их официального сайта.

Пожалуй самая интересная фича нового решарпера - поддержка C# 3.0 и LINQ. Но первая вещь которую я заметил, это "Reformat" переименовали в "Cleanup Code", и поначалу, это сбивало с толку. Зато сейчас эта фича поддерживает профайлы, т.е. различные профайлы могут делать различные "очистки кода": переход к авто-свойствам, использование анонимных типов, формирование readonly полей, если это возможно и многое другое.

 

Но единственное, что у меня пока не получилось - это редактирование стандартных профайлов.

Следующее, на что я обратил внимание это инициализация объектов, к примеру если я напишу

Task t = new Task(); t.Name = "Test";

То решарпер мне предложит поступить следующим образом:

Task t = new Task {Name = "Test"};

Аналогичным образом решарпер предлагает использовать implicit type variable:

Решарпер советует использовать var везде, где это возможно. Такое решение далеко не всегда оправдано, поэтому я отключил этот функционал.



Зачатки JetBrains.Annotation были еще в решарпере версии 2.5. Если помните был такой "Null Reference Analysis", который оповещал разработчика о возможных NullReferenceException в коде. Чтобы избежать такого анализа разработчики добавляли к свойствам, атрибуты NotNull или CanBeNull, которые решарпер позже использовал для инициализации состояния переменных. В новой же версии количество таких атрибутов значительно увеличилось. Скажем, если вы хотите явно указать, что ваш строковый параметр будет обрабатываться с помощью string.Format, то можете написать следующее

[StringFormatMethod("key")] public void Put(string key, params object[] args) { ... }

После чего вызвав эту функцию

Put("testing {0}, {1}, {2}", 1, 2);

решарпер подскажет, что переменная для аргумента {2} отсутствует. Но использования этой фичи требует включения нескольких JetBrain библиотек в ваш проект, что несколько смущает...

Довольно удобным стал CamelHumps Completion, позоволяющий писать лишь заглавные буквы ключевых слов, названий классов, переменных:

if(CVM.I.SV(SCV.FU

После нажатия магического сочетания клавиш <Ctrl-Shift-Enter>, получаем

if (CodeViewManager.Instance.SupportsView(StandardCodeViews.FindUsages)) { }

Как я уже упоминал, теперь решарпер полностью поддерживает C# 3.0 и LINQ, что не может не радовать.

 

Recent Edits позволяет быстро получить доступ к недавно редактируемым участкам кода (CTRL + "-" уже просто достал!):

 


И в заключение, хочу добавить, что создатели решарпера клянутся, что он стал быстрее, особенно в обработке ASP.NET кода.

Полезные ссылки:

Официальный сайт решарпера

Новые фичи четвертого решарпера 

Скачать Resharper 4.0 

Купить Resharper 4.0 

Блог Ильи Рыженкова, продукт-менеджера компании JetBrains 

Currently rated 4.7 by 6 people

  • Currently 4.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Как упростить доступ к значениям в словаре?

clock June 12, 2008 09:32 by author Подлипенский Павел

Речь пойдет о коллекциях IDictionary. Не знаю как вам, но мне надоела постоянная проверка .ContainsKey(), каждый раз, когда я хотел получить значение из словаря.

Dictionary<string, string> dict;
if (dict.ContainsKey("key"))
	value = dict["key"];
else
	value = "defaultValue";

Поэтому мне пришлось реализовать такую вот нехитрую обертку:

public static class MyExtensions
{
	public static TValue GetValue<TKey, TValue>(
	this IDictionary<TKey, TValue> source, TKey key, TValue defaultValue)
	{
		if (source.ContainsKey(key))
			return source[key];
		else
		return defaultValue;
	}
}

И теперь получить значение стало намного проще:

value = dict.GetValue("key", "defaultValue");

Currently rated 4.0 by 6 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Search


LinkedIn Profile

Calendar

<<  August 2008  >>
SuMoTuWeThFrSa
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

Archive

Tags

Categories


Recent Posts

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in

Ó÷àñòíèê ïëàíåòû Developers.org.ua

Bookmark and Share

Web Developement Blogs - Blog Catalog Blog Directory