Code Smell 236 — что делать с слишком длинными строками кода
4 января 2024 г.Форматирование играет решающую роль в создании кода, который не только функционален, но и удобен для чтения и сопровождения. В этой статье я расскажу о запахе кода, связанном с пренебрежением правильным переносом строк, и исследую, почему это слишком долго считается плохой практикой, не так ли?
<блок-цитата>TL;DR: извлеките и оберните код
Проблемы
- Трудно читаемый код (особенно на небольших устройствах).
- Нарушение закона Деметры
Решения
- Оберните код длиной не более 75 символов. ол>
- Форматирование
2. Разрыв и объединение длинных строк. Компиляторы оптимизируют их. Думать о снижении скорости — это ошибка преждевременной оптимизации.
3. Не используйте сокращения.
Контекст
Необернутое форматирование кода подразумевает отсутствие разрывов строк или соответствующих отступов. При этом создаются слишком длинные строки кода, выходящие за пределы стандартной ширины редактора кода или экрана мобильного устройства.
Когда я писал мою последнюю книгу, люди читают код на небольших устройствах, поэтому перенос строк имеет решающее значение.
Пример кода
Неверно
struct ExtraterrestrialSignal { signal_frequency: f64, signal_strength: f64, signal_duration: f64, }
fn perform_signal_processing_and_analysis(extraterrestrial_signal: &ExtraterrestrialSignal,
) {
println!(
"Extraterrestrial Signal processed - Frequency: {} Hz, Strength: {}, Duration: {} seconds", extraterrestrial_signal.signal_frequency, extraterrestrial_signal.signal_strength, extraterrestrial_signal.signal_duration);
if extraterrestrial_signal.signal_strength > 0.8 && extraterrestrial_signal.signal_duration > 10.0
{
println!("Potential Extraterrestrial Signal of interest!");
} else {
println!("Signal does not meet criteria for further investigation.");
}
}
Верно
struct ExtraterrestrialSignal {
signal_frequency: f64,
signal_strength: f64,
signal_duration: f64,
}
fn perform_signal_processing_and_analysis(
extraterrestrial_signal: &ExtraterrestrialSignal,
) {
println!(
"Extraterrestrial Signal processed" +
"- Frequency: {} Hz, Strength: {}, Duration: {} seconds",
extraterrestrial_signal.signal_frequency,
extraterrestrial_signal.signal_strength,
extraterrestrial_signal.signal_duration
);
if extraterrestrial_signal.signal_strength > 0.8
&& extraterrestrial_signal.signal_duration > 10.0
{
println!("Potential Extraterrestrial"
+ " Signal of interest!");
} else {
println!("Signal does not meet criteria"
+ " for further investigation.");
}
}
Обнаружение
[X] Автоматически
Это запах форматирования и синтаксиса
Теги
Уровень
[X] Новичок
ИИ-помощники
ИИ-помощники иногда приносят краткий код, а не реальный рабочий код.
Вы можете использовать помощников для переноса и форматирования кода.
Заключение
Обеспечение читабельности всегда имеет первостепенное значение, при этом следует учитывать различные аспекты. Если строки кода слишком длинные, разработчикам может быть сложно понять структуру и порядок выполнения кода.
Отношения
https://blog.devgenius.io/code-smell-33-abbreviations-ba5149c93a68
https://blog.devgenius.io/code-smell-48-code-without- стандарты-60c9e0905627
https://levelup.gitconnected.com/code-smell-164-mixed-indentations-a328947b9a7e
https://levelup.gitconnected.com/code-smell-211-tab-over-spaces-66f20522727c
Дополнительная информация
Отказ от ответственности
Запахи кода — это мои мнение.
Кредиты
Фото Олеси Емец на сайте Удалить
<блок-цитата>
Цель уборки — не просто навести порядок, а почувствовать счастье, живя в этой среде.
Мари Кондо
https://blog.devgenius.io/software-engineering-great-quotes -3af63cea6782?embedable=true
Эта статья входит в серию CodeSmell.
https://blog.devgenius .io/how-to-find-the-stinky-parts-of-your-code-fa8df47fc39c?embedable=true
Оригинал