Вопросы с тегом «coding-style»

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

5
Если еще одна лестница, которая должна охватывать все условия, следует ли добавить избыточный последний пункт?
Это то, чем я занимаюсь в последнее время. Пример: setCircle(circle, i, { current }) { if (i == current) { circle.src = 'images/25CE.svg' circle.alt = 'Now picking' } else if (i < current) { circle.src = 'images/25C9.svg' circle.alt = 'Pick failed' } else if (i > current) { circle.src = …

4
Хороший стиль кода для повсеместной проверки данных?
У меня есть проект, достаточно большой по размеру, и я не могу больше держать в голове каждый аспект. Я имею дело с рядом классов и функций, и я передаю данные. Со временем я заметил, что получаю ошибки, потому что забыл, какую точную форму должны иметь данные, когда я передаю их …

4
Переработка функции, возвращающей целочисленный код, который представляет множество различных состояний
Я унаследовал некоторый ужасный код, который я включил короткий пример ниже. Есть ли название для этого конкретного анти-паттерна? Какие рекомендации по рефакторингу это? // 0=Need to log in / present username and password // 2=Already logged in // 3=Inactive User found // 4=Valid User found-establish their session // 5=Valid User …

5
Помещает ли текстовые маркеры внутри строк плохой стиль? Есть ли альтернатива?
Я работаю с массивными струнами, которые требуют много манипуляций. Например, я мог бы сгенерировать такую ​​строку: Часть 1 Лодка Раздел А Программирование Часть 2 Разбиение лодок для программирования. Раздел AA Раздел SQL Записи. Строка будет слишком большой, чтобы вручную проверять каждую ее часть. Теперь мне нужно splitэто stringразделить stringlistна части …

3
Участник: использовать уникальные идентификаторы против объекта домена
После пары полезных ответов о том, должен ли я использовать объект домена или уникальный идентификатор в качестве параметра метода / функции здесь Идентификатор против объекта домена в качестве параметра метода , у меня возникает похожий вопрос re: members (предыдущее обсуждение вопросов не удалось покрыть это). Каковы плюсы и минусы использования …

4
Является ли использование внутренних областей видимости в функции плохим стилем?
В некоторых (довольно редких) случаях существует риск: повторное использование переменной, которая не предназначена для повторного использования (см. пример 1), или используя переменную вместо другой, семантически близко (см. пример 2). Пример 1: var data = this.InitializeData(); if (this.IsConsistent(data, this.state)) { this.ETL.Process(data); // Alters original data in a way it couldn't be …

3
Опасно ли полагаться на неявное преобразование аргументов?
В C ++ есть особенность (я не могу определить ее правильное имя), которая автоматически вызывает соответствующие конструкторы типов параметров, если типы аргументов не являются ожидаемыми. Очень простой пример этого вызова функции, ожидающей std::stringс const char*аргументом. Компилятор автоматически сгенерирует код для вызова соответствующего std::stringконструктора. Мне интересно, это так плохо для читабельности, …

7
Временные переменные и требования к длине строки
Я читал Рефакторинг Мартина Фаулера . Как правило, это отлично, но одна из рекомендаций Фаулера, кажется, вызывает небольшие проблемы. Фаулер рекомендует заменить временные переменные запросом, поэтому вместо этого: double getPrice() { final int basePrice = _quantity * _itemPrice; final double discountFactor; if (basePrice > 1000) discountFactor = 0.95; else discountFactor …

7
Это плохой стиль, чтобы избыточно проверить состояние?
Я часто попадаю на позиции в моем коде, где я снова и снова проверяю определенное условие. Я хочу привести небольшой пример: предположим, что есть текстовый файл, который содержит строки, начинающиеся с «a», строки, начинающиеся с «b», и другие строки, и я на самом деле хочу работать только с первыми двумя …

4
Как избежать общих имен для абстрактных классов?
В общем, хорошо избегать таких слов, как «handle» или «process», как части имен рутины и имен классов, если вы не имеете дело с (например) дескрипторами файлов или (например) процессами unix. Однако абстрактные классы часто не знают, что они собираются делать с чем-то, кроме, скажем, обработки. В моей текущей ситуации у …

4
Как вы читаете код с продолжениями / обратными вызовами?
Описание: Существуют ли какие-то хорошо зарекомендовавшие себя шаблоны наилучшей практики, которым я могу следовать, чтобы сохранить мой код читабельным, несмотря на использование асинхронного кода и обратных вызовов? Я использую библиотеку JavaScript, которая делает много вещей асинхронно и сильно зависит от обратных вызовов. Кажется, что написание простого метода «load A, load …

8
Как насчет всех этих правил кодирования?
Я всегда поддерживал идею наличия правил кодирования для разработчиков в компании или конкретном проекте. Особенно если размер компании больше 10. Чем больше компания, тем больше потребность. Я знаю, что многие люди не согласятся, но я видел проекты, в которых их нет, и код выглядит как полная катастрофа. Настоящая проблема, которая …

9
Как вы нашли, усовершенствовали и сохранили свой стиль кодирования?
Недавно я переключался между несколькими проектами и средами разработки. Ожидания по стилю кодирования у каждого разные. Теперь мой вопрос состоит из трех частей, первая, просто из любопытства: Как вы определили и нашли свой стиль кодирования? Как вы продолжаете увеличивать и улучшать его? Как вы поддерживаете это? (Из ментальных заметок, ведения …

4
C ++ Предпочтительный метод работы с реализацией для больших шаблонов
Обычно при объявлении класса C ++ рекомендуется помещать только объявление в заголовочный файл и помещать реализацию в исходный файл. Однако, похоже, что эта модель проектирования не работает для шаблонных классов. При поиске в Интернете, кажется, есть 2 мнения о лучшем способе управления шаблонами классов: 1. Вся декларация и реализация в …

2
Идентификатор против объекта домена в качестве параметра метода
Есть ли объективные аргументы за или против использования объектов против уникального идентификатора в качестве параметров метода / функции? (а члены других объектов?). Особенно в контексте статически типизированных языков (C # / Java / Scala) Плюсы самого объекта: Более безопасные звонки. С идентификаторами существует риск неправильного упорядочения аргументов. Этого можно избежать, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.