Это нормальная практика в C# или по какой-то причине это просто ужасная идея? [закрыто]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Это нормальная практика в C# или по какой-то причине это просто ужасная идея? [закрыто]

Сообщение Anonymous »

Я знаю, что когда вы спросите о «лучших практиках», вы получите ответы от «такого не существует» до «если вы не можете им следовать, вы ошибаетесь», поэтому я могу получить не самые лучшие ответы. Однако из-за этого...
Я зацикливаюсь на "лучшем способе сделать..." или "Может быть, мне не хватает каких-то знаний, которые нужны другим, чтобы сделать это лучше?" все время, и из-за этого я намного медленнее кодирую. Конечно, хорошо обдумывать эти вещи, но не в той степени, в которой я это делаю, я не думаю. Я хочу сказать, что если я смогу успокоиться с помощью советов опытных программистов относительно моего выбора и того, что я считаю правильным, тогда я смогу двигаться дальше и перестать так сильно себя критиковать.
Что касается примера, это механика синхронизации игрового цикла, которую я создал, чтобы создать своего рода таймер.

Код: Выделить всё

  public bool CheckTimestamps(string key, float requiredDelay, bool repeat) {
requiredDelay = ConvertToMicroseconds(requiredDelay);
if (timestamps.ContainsKey(key)) {
float timeDifference = (float)totalMicroseconds - timestamps[key];
if (timeDifference > requiredDelay) {
if (repeat) {
Timestamp(key);
}
else {
timestamps.Remove(key);
}
return true;
}
else {
return false;
}
}
else {
Timestamp(key);
return true;
}
}
Я думаю, что это выглядит нормально и работает довольно хорошо, но это та часть: «Есть ли лучший способ, который я не знаю достаточно, чтобы придумать?»
С другой стороны, мне это кажется немного... беспорядочным. Так что я сделал это, чтобы "чтобы оно выглядело лучше", имхо

Код: Выделить всё

   public bool CheckTimestamps(string key, float requiredDelay, bool repeat) {
requiredDelay = ConvertToMicroseconds(requiredDelay);
if (timestamps.ContainsKey(key)) {
float timeDifference = (float)totalMicroseconds - timestamps[key];
if (timeDifference > requiredDelay) {
if (repeat) { Timestamp(key); }
else { timestamps.Remove(key); }
return true;
}
else { return false; }
}
else {
Timestamp(key);
return true;
}
}
по сути, объединение однострочных операторов if/else в одну строку, а не использование громоздкого блока для такого небольшого кода. Это что-то... приемлемое?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ome-reason
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Может ли шаблон класса и нормальная перегрузка класса?
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Нормальная карта не отображается на экструдированном SVG в три.
    Anonymous » » в форуме Javascript
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Opencv pyqt видео нормальная частота кадров
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Shared_ptr: ужасная скорость
    Anonymous » » в форуме C++
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Shared_ptr: ужасная скорость
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»