Запитання з тегом «coding-style»

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

6
Одиночні та подвійні лапки [закрито]
Щойно я почав роботу, коли пишу Python після того, як прийшов з Java, і помічаю, що інші розробники прагнуть цитувати рядки, використовуючи одинарні лапки ( '') замість подвійних лапок ( ""). Наприклад: line1 = 'This is how strings typically look.' line2 = "Not like this." Чи є якась причина для …

12
Чому недавній перехід на видалення / опущення крапки з комою з Javascript?
Здається, останнім часом модно опускати крапки з комою з Javascript. Кілька років тому була публікація в блозі, в якій підкреслювалося, що в Javascript крапки з комою необов’язкові, а суть публікації, здавалося, не повинна турбуватися з ними, оскільки вони непотрібні. Повідомлення, яке широко цитується, не дає жодних вагомих причин не використовувати …

30
Найгірший стандарт кодування, якому ви коли-небудь дотримувалися? [зачинено]
Вам коли-небудь доводилося працювати над стандартами кодування, які: Значно знизили свою продуктивність? Спочатку вони були включені з поважних причин, але їх зберігали довго після того, як первісне занепокоєння стало неактуальним? Були в списку так довго, що неможливо було їх усіх запам'ятати? Змусили вас думати, що автор просто намагався залишити свій …

10
Чи корисна практика замінити ділення на множення, коли це можливо?
Щоразу, коли мені потрібно поділ, наприклад, перевірка стану, я б хотів змінити вираз поділу на множення, наприклад: Оригінальна версія: if(newValue / oldValue >= SOME_CONSTANT) Нова версія: if(newValue >= oldValue * SOME_CONSTANT) Тому що я думаю, що це може уникнути: Ділення на нуль Переповнення, коли oldValueдуже мало Це так? Чи є …

10
Чому висловлювання "if elif else" практично ніколи не бувають у форматі таблиці?
if i>0 : return sqrt(i) elif i==0: return 0 else : return 1j * sqrt(-i) VS if i>0: return sqrt(i) elif i==0: return 0 else: return 1j * sqrt(-i) З огляду на наведені вище приклади, я не розумію, чому я практично ніколи не бачу першого стилю в кодових базах. Для …

10
Ніколи не використовуйте Strings на Java? [зачинено]
Я натрапив на запис у блозі, який відштовхує від використання рядків у Java для того, щоб ваш код бракував семантики, пропонуючи вам замість цього використовувати тонкі класи обгортки. Це попередні та після прикладів, які згаданий запис подає для ілюстрації справи: public void bookTicket( String name, String firstName, String film, int …

15
Чи є визначення змінної для назви аргументу методу гарною практикою?
Для читабельності я часто опиняюсь тим, що визначаю тимчасові змінні під час виклику функцій, таких як наступний код var preventUndo = true; doSomething(preventUndo); Коротка версія цього до цього буде, doSomething(true); Але коли я повертаюся до коду, мені часто цікаво, на що trueйдеться. Чи існує умова для такого роду головоломки?

13
Було б поганою ідеєю періодично запускати формати коду у сховищі?
Я думаю створити роботу cron, яка перевіряє код, запускає на ньому формати форматів, і якщо щось змінилося, здійснює зміни та відштовхує їх назад. Більшість проектів, які використовують автоформати, ставлять їх у гачок, але якщо робити це автоматично кожні кілька годин, це зніме тягар для кожного розробника для встановлення гака. Я …

5
Чому велика кількість магічних чисел прийнятна у CSS та SVG?
Часто я бачу такі запитання у списку гарячих запитань до мережі, як цей, які в основному задають питання "як я малюю цю довільну форму в CSS". Незмінно відповідь - це пара блоків даних CSS або SVG з купою, здавалося б, випадкових твердо кодованих значень, які утворюють потрібну форму. Коли я …

4
Чи краще викликати функцію, яка не має ефекту в цей момент, якщо це покращує ясність коду?
У мене в програмі три програми (програма iOS). Лише одна з них є активною одночасно, тому я вимикаю видимість для двох з них і перемикаю видимість, коли користувач натискає кнопки. Погляди ініціалізуються як видимі, тому я вимикаю видимість у коді до того, як буде показано основний вигляд. я можу зробити …

18
Робота над чужим кодом [закрито]
У мене навряд чи рік досвіду в кодуванні. Після того, як я почав працювати, більшу частину часу я працював над чужим кодом, або додаючи нові функції над існуючими, або змінюючи існуючі функції. Хлопець, який написав фактичний код, більше не працює в моїй компанії. Мені важко зрозуміти його код і виконувати …

16
Навіщо використовувати! Boolean_variable Over boolean_variable == false
Коментар до цього питання: Перевірка, чи метод повертає false: призначити результат тимчасовій змінній, або поставити виклик методу безпосередньо в умовний? говорить, що ви повинні використовувати !booleanзамість цього boolean == falseпри тестуванні умов. Чому? Для мене boolean == falseнабагато природніше англійська мова і більш чітка. Прошу вибачення, якщо це лише питання …

12
Чи варто повторно використовувати змінні?
Чи варто повторно використовувати змінні? Я знаю, що багато кращих практик говорять, що ви не повинні цього робити, однак пізніше, коли різний розробник налагоджує код і має 3 змінні, які однаково схожі, і різниця полягає лише в тому, що вони створюються в різних місцях коду, він може бути розгублений. Тестування …

17
Єдине твердження, якщо блок - дужки чи ні? [зачинено]
Що краще / загальніше прийнято? Це: if(condition) { statement; } Або: if(condition) statement; Я, як правило, віддаю перевагу першому, тому що я думаю, що це полегшує розповісти, що насправді належить до блоку if, це рятує інших від додавання дужок пізніше (або створення помилки, забувши), і це робить усі ваші, якщо …

9
Чтеність та ремонтопридатність, особливий випадок написання вкладених викликів функцій
Мій стиль кодування для вкладених функцій викликів такий: var result_h1 = H1(b1); var result_h2 = H2(b2); var result_g1 = G1(result_h1, result_h2); var result_g2 = G2(c1); var a = F(result_g1, result_g2); Нещодавно я змінився у відділ, де дуже сильно використовується наступний стиль кодування: var a = F(G1(H1(b1), H2(b2)), G2(c1)); Результатом мого …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.