Кодируйте analysis/FxCop в VS2008

только что отредактировал $('#CategoryName').on('change'... часть

var tableData = [{
    "Item Code": "1001",
    "Item Name": "Beverages",

    "Quantity": "0"

  },
  {
    "Item Code": "2003",
    "Item Name": "Juices",

    "Quantity": "0"
  },
  {
    "Item Code": "1004",
    "Item Name": "Soups",

    "Quantity": "0"

  },
  {
    "Item Code": "2005",
    "Item Name": "Cookies",

    "Quantity": "0"

  },

]

function addTable(tableData) {
  var col = Object.keys(tableData[0]);
  var countNum = col.filter(i => !isNaN(i)).length;
  var num = col.splice(0, countNum);
  col = col.concat(num);
  var table = document.createElement("table");
  var tr = table.insertRow(-1); // TABLE ROW.
  for (var i = 0; i < col.length; i++) {
    var th = document.createElement("th"); // TABLE HEADER.
    th.innerHTML = col[i];
    tr.appendChild(th);
    tr.classList.add("text-center");
    tr.classList.add("head")
  }
  for (var i = 0; i < tableData.length; i++) {
    tr = table.insertRow(-1);
    for (var j = 0; j < col.length; j++) {
      let tabCell = tr.insertCell(-1);
      var hiddenField = document.createElement("input");
      hiddenField.style.display = "none";
      var tabledata = tableData[i][col[j]];

      if (tableData[i]['Item Code'] === tableData[i][col[j]]) {
        tabCell.innerHTML = tabledata;
        hiddenField.setAttribute('name', 'Item_Code');
        hiddenField.setAttribute('value', tabledata);
        tabCell.appendChild(hiddenField);
      }
      if (tableData[i]['Item Name'] === tableData[i][col[j]]) {
        tabCell.innerHTML = tabledata;
        hiddenField.setAttribute('name', 'Item_Name');
        hiddenField.setAttribute('value', tabledata);
        tabCell.appendChild(hiddenField);
      }
      if (tableData[i]['Quantity'] === tableData[i][col[j]]) {
        var quantityField = document.createElement("input");
        quantityField.style.border = "none";
        quantityField.style["text-align"] = "center";
        quantityField.setAttribute('name', 'Quantity');
        quantityField.setAttribute('value', tabledata);
        quantityField.setAttribute('type', 'number');
        quantityField.classList.add("dataReset");
        tabCell.appendChild(quantityField);
        /* console.log(quantityField) */
      }
      if (j > 1)
        tabCell.classList.add("text-right");
    }
  }
  var divContainer = document.getElementById("HourlysalesSummary");
  divContainer.innerHTML = "";
  divContainer.appendChild(table);
  table.classList.add("table");
  table.classList.add("table-striped");
  table.classList.add("table-bordered");
  table.classList.add("table-hover");
}
addTable(tableData);

$('#CategoryName').on('change', function() {

  //you need to structure the data somehow 
  // and iterate over each input, if not , val() will act like .first().val() (just returning the value of the first input)
  var testing = [];
  $(".dataReset").each(function(u,itm){
   testing.push($(itm).val());
  });
  console.log(testing);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css">
<form action="InsertQuantityIndent" method="post" id="form1">
  <div class="row position-relative">
   
    <div class="col-lg-4">
      <h5>Category</h5>
      <select class="test" id="CategoryName" name="categoryCode">
        <option>All</option>
        <option>Cat1</option>
        <option>Cat2</option>
      </select>
    </div>
  </div>
  <br>
  <div class="table-responsive">
    <table class=" w-100" id=HourlysalesSummary></table>
  </div>
  <div>
    <button type="submit" id="save">
					<i class="fas fa-save"></i> Save
				</button>

  </div>
</form>

8
задан Boris Callens 18 December 2008 в 08:51
поделиться

4 ответа

Да, Анализ кода является хорошим дружественным названием FxCop. Однако я не знаю о дружественном окне вне ошибок / предупреждение списка, где они должны казаться, снабженными префиксом CA.

На экране свойств проекта существует вкладка Анализа кода, где можно рассматривать предупреждения как ошибки осуществить правила, Вы заботитесь о.

3
ответ дан 5 December 2019 в 20:20
поделиться

Вы ничего не пропускаете - нет всплывающего окна.

Список проблем в окне вывода - в значительной степени все, что Вы вошли бы в FxCop. Это просто, что FxCop является автономным приложением.

Вот достойная статья о FxCop и Анализе кода:

http://geekswithblogs.net/sdorman/archive/2008/08/19/visual-studio-and-code-analysis.aspx

2
ответ дан 5 December 2019 в 20:20
поделиться

Именно так все знают, потому что мне потребовалось долгое время для понимания этого.... Анализ кода / FxCop только включен в версии Комплекта Системы и Команды Команды VS 2008, не в Professional Edition.

2
ответ дан 5 December 2019 в 20:20
поделиться

Альтернатива FxCop должна была бы использовать инструмент NDepend, который позволяет Правилам Кода записи по Запросам C# LINQ (а именно, CQLinq). NDepend интегрируется в VS 2012, 2010 и 2008.Отказ от ответственности: Я - один из разработчиков инструмента

Больше чем 200 правил кода предложены по умолчанию. Настройка существующих правил или создание Ваших собственных правил просты благодаря известному синтаксису C# LINQ.

Правила кода NDepend могут быть проверены живые в Visual Studio и во время процесса сборки в сгенерированном отчете о HTML+javascript.

Вы кажется затронутым количеством ложно-положительных. Для поддержания количества на низком уровне ложных положительных сторон CQLinq предлагает уникальные возможности определить то, что является набором JustMyCode через специальные запросы кода, снабженные префиксом notmycode. Больше объяснений об этой функции может быть найдено здесь. Вот, например, два notmycode запроса по умолчанию:

Для поддержания количества на низком уровне ложных положительных сторон с CQLinq, можно также сфокусировать результат правил только на добавленном коде или пересмотренном коде, начиная с определенной базовой линии в прошлом. См. следующее правило, которые обнаруживают методы, слишком сложные добавленный или пересмотренный начиная с базовой линии:

warnif count > 0 
from m in Methods
where m.CyclomaticComplexity > 20 &&
      m.WasAdded() || m.CodeWasChanged()
select new { m, m.CyclomaticComplexity }
1
ответ дан 5 December 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: