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

11
Когда приватный метод должен использовать публичный маршрут для доступа к приватным данным?

Когда приватный метод должен использовать публичный маршрут для доступа к приватным данным? Например, если бы у меня был этот неизменный класс 'множителей' (я немного придумал, я знаю): class Multiplier { public: Multiplier(int a, int b) : a(a), b(b) { } int getA() const { return a; } int getB()...

11
Функции, возвращающие строки, хороший стиль?

В моих программах на C мне часто нужен способ сделать строковое представление моих ADT. Даже если мне не нужно выводить строку на экран каким-либо образом, очень неплохо иметь такой метод для отладки. Так что такая функция часто появляется. char * mytype_to_string( const mytype_t *t ); На самом...

11
Ruby: если переменная vs, если variable.nil?

Я новичок в Ruby, и я был удивлен, когда узнал, что все объекты истинны, кроме nil и false. Даже 0 это правда. Хорошая особенность этого свойства языка в том, что вы можете написать: if !variable # do stuff when variable is nil end Мои коллеги, которые являются более опытными разработчиками Ruby,...

11
В Java 8 лучше стилистически использовать выражения ссылок на методы или методы, возвращающие реализацию функционального интерфейса?

В Java 8 добавлена ​​концепция функциональных интерфейсов , а также множество новых методов, предназначенных для использования функциональных интерфейсов. Экземпляры этих интерфейсов могут быть кратко созданы с использованием выражений ссылки на метод (например SomeClass::someMethod) и...

11
Называние: Вы должны пожертвовать краткостью для ясности?

Например, следующая функция перебирает массив, который содержит имя и ошибки поля ввода. Это делается путем проверки имени проверяющего поля, а затем отправки информации об ошибке в массив неверных полей. Лучше быть кратким и написать это: addInvalidField (field, message) { const foundField =...

10
Как вы нашли, усовершенствовали и сохранили свой стиль кодирования?

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

10
Как насчет всех этих правил кодирования?

Я всегда поддерживал идею наличия правил кодирования для разработчиков в компании или конкретном проекте. Особенно если размер компании больше 10. Чем больше компания, тем больше потребность. Я знаю, что многие люди не согласятся, но я видел проекты, в которых их нет, и код выглядит как полная...

10
Если еще одна лестница, которая должна охватывать все условия, следует ли добавить избыточный последний пункт?

Это то, чем я занимаюсь в последнее время. Пример: 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 =...

10
Как вы читаете код с продолжениями / обратными вызовами?

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

10
Как избежать общих имен для абстрактных классов?

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

10
Это плохой стиль, чтобы избыточно проверить состояние?

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

10
Временные переменные и требования к длине строки

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

10
Хороший стиль кода для повсеместной проверки данных?

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

10
Опасно ли полагаться на неявное преобразование аргументов?

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

10
Является ли использование внутренних областей видимости в функции плохим стилем?

В некоторых (довольно редких) случаях существует риск: повторное использование переменной, которая не предназначена для повторного использования (см. пример 1), или используя переменную вместо другой, семантически близко (см. пример 2). Пример 1: var data = this.InitializeData(); if...

10
Идентификатор против объекта домена в качестве параметра метода

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

10
Участник: использовать уникальные идентификаторы против объекта домена

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

10
C ++ Предпочтительный метод работы с реализацией для больших шаблонов

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

10
Помещает ли текстовые маркеры внутри строк плохой стиль? Есть ли альтернатива?

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

10
Переработка функции, возвращающей целочисленный код, который представляет множество различных состояний

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