Pull to refresh

Comments 5

Всё здорово конечно…
C++ C#. Для java инструменты видел.
А для семейства Pascal языков аналогичные инструменты кто нибудь встречал?
Есть Pascal Analyzer — . Функционал немного другой, но некоторый анализ делает.

На гитхабе есть , на SF — Delphi Code Analyzer

Кроме того, насколько знаю, в последних версиях Delphi есть встроенный инструмент «Audits and metrics», который делает в том числе что-то подобное.

Поправлю самого себя. На гитхабе и SF лежат пустышки, заготовки нерабочих проектов. Зато нашел еще CodeHealer. Гуглите, ссылок дать не могу, ибо пока не полагается.
Спасибо, отличная статья. Видно толковые ребята работают в SharpDevelop
Спасибо за статью. Познавательно. Нахождение ошибок — одно из ключевых направлений работы в разработке ПО.

Если можно, мои пять копеек.

Несвоевременная проверка на равенство 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 используется не только одним потоком.

Спасибо.
Sign up to leave a comment.