Хороший ли код?
Я написал программу, которая генерирует случайные числа в диапазоне от 0 до 99, и если сгенерированное число попадёт в определенный диапазон, то на экране появится текст, смысл которого зависит от диапазона, в который попадет число. Нормальный ли получился код, или он слишком громоздкий?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class RandomNumberGenerate : MonoBehaviour
{
public float random_number;
public Text txt;
// Update is called once per frame
void Start()
{
random_number = Random.Range(0f, 100f);
Debug.Log(random_number);
}
void Update()
{
if(random_number >= 1 && random_number <= 94f || random_number == 0)
{
txt.text = "0, 1-94";
}
else if (random_number <= 0.01f)
{
txt.text = "0.01-0.02";
}
else if (random_number >= 95f && random_number <= 98f)
{
txt.text = "95-98";
}
else if (random_number == 99f)
{
txt.text = "99";
}
else
txt.text = "else";
}
}
Ответы (1 шт):
генерирует случайные числа в диапазоне от 0 до 99, и если сгенерированное число попадёт в определенный диапазон, то на экране появится текст
- Если ответственность класса нельзя описать односложным предложением, то что-то не так. У тебя банально больше одной ответственности: генерация и визуализация, что нарушает принцип единственной ответственности.
- Для генерации
MonoBehaviourне нужен. Что делаетUpdate? Зачем делать вереницуifв каждом кадре с тем-же результатом?if else if else if elseв наборе однородных операция вообще не должно быть, для этого естьfor. - Диапазоны просто выставлены в ручную, прямо в методе, не пойми как, это называется магические числа. Диапазоны могут пересекаться, полно результатов для которых нет никаких диапазонов, никакого порядка или логики не существует, даже читать больно.
publicполя в классе, за что на районе расчехляют вилы и факелы.- Все названия либо врут, либо не несут смысла.
- Для нейминга полей используют Camel Case, это стандарт.
- Кривая табуляция строк, читаемость падает до
кровь из глаз. - В коде комментарии из шаблона
MonoBehaviour, которые к тому-же еще и не на своем месте, грязный мусор как есть.
Какие-то пункты могут показаться придирками и мелочью, но это не так, код должен быть похож на хирургическую палату а не свалку. На любом ревью форматирование и стандарты это первое, что бросается в глаза и если видно, что писал неряха, содержание могут даже не смотреть.