Необходимо ли прокомментировать изменения в коде и в журнале изменений?

чтобы добавить фоновые цвета к диаграмме, мы можем использовать ряд 'area',
один для положительного цвета и один для отрицательного.

после загрузки начальных данных,
добавить два дополнительных столбца.
добавьте строки / значения для этих столбцов для всего диапазона диаграммы.
используйте null для исходного значения столбца.

// add columns & rows for background
data.addColumn('number', '');
data.addRow([0, null, 8]);
data.addRow([-100, null, 8]);
data.addColumn('number', '');
data.addRow([0, null, null, 8]);
data.addRow([100, null, null, 8]);

в опциях добавьте следующие опции ...

colors: ['blue', 'red', 'green'],  // colors for the series
lineWidth: 0,                      // remove line for top of area series
pointSize: 0,                      // remove points on area series
series: {                          // change last two series to area
  1: {type: 'area'},
  2: {type: 'area'}
}

затем при размещении маркеров изображения игнорируйте столбцы, где исходное значение равно null.

  // exclude null values
  var yValue = data.getValue(i, 1);
  if (yValue !== null) {
    var xPos = layout.getXLocation(data.getValue(i, 0));
    ...

см. Следующий рабочий фрагмент ...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var data = new google.visualization.DataTable();
  data.addColumn('number', '');
  data.addColumn('number', '');
  data.addRows([
    [-0.5, 1],
    [100, 1],
    [-80, 2],
    [25, 2],
    [60, 8],
  ]);

  // add columns & rows for background
  data.addColumn('number', '');
  data.addRow([0, null, 8]);
  data.addRow([-100, null, 8]);
  data.addColumn('number', '');
  data.addRow([0, null, null, 8]);
  data.addRow([100, null, null, 8]);

  var options = {
    title: 'guilt experience Vs eat satisfaction',
    titlePosition: 'none',
    position: 'center',
    hAxis: {
      title: 'Guilt Value\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0Eat Value',
      minValue: 0,
      maxValue: 15,
      ticks: [0, 20, 40, 60, 80, 100, -20, -40, -60, -80, -100]
    },
    vAxis: {
      title: '',
      minValue: 0,
      ticks: [0, 1, 2, 3, 4, 5, 6, 7, 8]
    },
    legend: {
      position: 'none'
    },
    colors: ['blue', 'red', 'green'],
    lineWidth: 0,
    pointSize: 0,
    series: {
      1: {type: 'area'},
      2: {type: 'area'}
    }
  };

  var container = document.getElementById('chart_div');
  var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));

  google.visualization.events.addListener(chart, 'ready', function() {
    var layout = chart.getChartLayoutInterface();
    for (var i = -0; i < data.getNumberOfRows(); i++) {
      // exclude null values
      var yValue = data.getValue(i, 1);
      if (yValue !== null) {
        var xPos = layout.getXLocation(data.getValue(i, 0));
        var yPos = layout.getYLocation(yValue);
        var whiteHat = container.appendChild(document.createElement('img'));
        if (data.getValue(i, 0) < 0) {
          whiteHat.src = 'https://i.imgur.com/LqiTeQI.png';
        } else {
          whiteHat.src = 'https://i.imgur.com/rACTObW.png';
        }
        whiteHat.style.position = 'absolute';
        whiteHat.style.height = '15px';
        whiteHat.style.width = '15px';
        whiteHat.style.top = (yPos) + 'px';
        whiteHat.style.left = (xPos) + 'px';
      }
    }
  });
  chart.draw(data, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>

5
задан ojblass 6 April 2009 в 02:41
поделиться

6 ответов

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

Комментарии в журнале изменений должны описать то, какие изменения были внесены в этом пересмотре.

Заключение: Постарайтесь не помещать числа/даты пересмотра и имя (имена) программиста, который внес изменения в комментариях к коду. (Благодаря обоим Jonathans.)

20
ответ дан 18 December 2019 в 05:44
поделиться

Не создавайте помехи своему коду комментариями, которые объясняют изменения. Это - просто еще одна вещь, которая должна сохраняться и вероятно последовательно не будет, ведя к большему количеству ошибок и большему количеству изменений. Используйте функцию комментария управления исходным кодом для того, что она предназначается.

Если необходимо объяснить, почему что-то было сделано определенный путь в комментариях в коде, это прекрасно. Пока это не требуется для каждого изменения. Это ведет для создания помех комментариям как

// fixed bug #3365
7
ответ дан 18 December 2019 в 05:44
поделиться

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

1
ответ дан 18 December 2019 в 05:44
поделиться

Оба сервер комментариев различная цель. Комментарии к коду должны проиллюстрировать и объяснить, что делает часть кода, как это работает, что это ожидает и что это возвращает. Также исключительные условия, которые могут возникнуть.

Комментарии регистрации больше для информирования тому, что изменяется, Вы сделали и причины изменения.

1
ответ дан 18 December 2019 в 05:44
поделиться

Не, по-моему. Код должен быть прокомментирован таким образом, что можно легко прочитать код. Это еще более необходимо для кода, который имел ошибку, которая была исправлена.

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

Они должны делать обоих и понимать, почему это важно.

1
ответ дан 18 December 2019 в 05:44
поделиться

Не знайте, используете ли Вы инструменты аннотации, Некоторый IDE как затмение интегрируются хорошо с CVS и показывают Вам точно, какая строка была изменена, когда и кого при использовании cvs инструмента аннотации.

0
ответ дан 18 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

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