Comments 5
Всё здорово конечно…
C++ C#. Для java инструменты видел.
А для семейства Pascal языков аналогичные инструменты кто нибудь встречал?
C++ C#. Для java инструменты видел.
А для семейства Pascal языков аналогичные инструменты кто нибудь встречал?
0
Есть Pascal Analyzer — . Функционал немного другой, но некоторый анализ делает.
На гитхабе есть , на SF — Delphi Code Analyzer
Кроме того, насколько знаю, в последних версиях Delphi есть встроенный инструмент «Audits and metrics», который делает в том числе что-то подобное.
На гитхабе есть , на SF — Delphi Code Analyzer
Кроме того, насколько знаю, в последних версиях Delphi есть встроенный инструмент «Audits and metrics», который делает в том числе что-то подобное.
+2
Спасибо, отличная статья. Видно толковые ребята работают в SharpDevelop
0
Спасибо за статью. Познавательно. Нахождение ошибок — одно из ключевых направлений работы в разработке ПО.
Если можно, мои пять копеек.
Несвоевременная проверка на равенство null
Я бы исправил этот код:
следующим образом(мне кажется не правильным повторять код проверки, когда можно вынести проверку еще выше):
Повторное присваивание
Конечно, подозрительный код. Но здесь может быть все верно, если между первым присваиванием и вторым нет никакого еще кода или если переменная ignoreDialogIdSelectedInTextEditor используется не только одним потоком.
Спасибо.
Если можно, мои пять копеек.
Несвоевременная проверка на равенство null
Я бы исправил этот код:
public void JumpToPosition()
{
if (hasLocation && position != null && !position.IsDeleted)
....
else if (position != null)
....
}
следующим образом(мне кажется не правильным повторять код проверки, когда можно вынести проверку еще выше):
public void JumpToPosition()
{
if(position != null)
{
if (hasLocation && !position.IsDeleted)
....
else
....
}
}
Повторное присваивание
void OpenDesigner()
{
try {
ignoreDialogIdSelectedInTextEditor = true; // <=
WorkbenchWindow.ActiveViewContent = this;
} finally {
ignoreDialogIdSelectedInTextEditor = false; // <=
}
}
Конечно, подозрительный код. Но здесь может быть все верно, если между первым присваиванием и вторым нет никакого еще кода или если переменная ignoreDialogIdSelectedInTextEditor используется не только одним потоком.
Спасибо.
+1
Sign up to leave a comment.
Повторная проверка SharpDevelop: что нового?