Запитання з тегом «programming-practices»

Практики програмування - це звичайна або не настільки поширена практика розробки програмного забезпечення. Сюди можна віднести такі речі, як Agile Development, Kanban, ярлики кодування тощо.

4
Внутрішнє середовище проти середовища розробки програмного забезпечення [закрито]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 5 років тому . У галузі існує різниця між середовищем "внутрішньої розробки", де розробники програмного забезпечення пишуть код, який буде використовуватися самою компанією, і …

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

5
Що сталося з Уніфікованою файловою моделлю Алана Купера?
Протягом тривалого часу Алан Купер (у 3-х версіях книги "Про обличчя") просував "єдину модель файлів", щоб, крім усього іншого, не обійтися тим, що він називає найбільш ідіотичним полем повідомлень, коли-небудь винайденим - тим, що з'являється при натисканні кнопки закриття програми або форми, що говорить "Хочете відмінити свої зміни?" Мені подобається …

5
Коли починати писати обробку винятків, ведення журналів
Коли ви починаєте писати свій Код обробки винятків? Коли ви починаєте писати протоколи журналів. Для розробки цього питання припустимо, що ми перебуваємо на платформі .NET з log4net, але не соромтесь відповісти загальним способом. Рішення: Проект Windows Forms. Проекти: інтерфейс користувача, BusinessRules, DataHandlers Отже, чи збираєтеся ви писати свої DataHandlers, які …

8
Чи завжди рядки C недійсні, або це залежить від платформи?
Зараз я працюю з вбудованими системами і з'ясовую способи реалізації рядків на мікропроцесорі без операційної системи. Поки що я роблю, це просто використовувати ідею мати покажчики символів, що припиняються NULL, і трактувати їх як рядки, де NULL означає кінець. Я знаю, що це досить часто, але чи завжди ви можете …

6
Що вважається найкращою практикою використання друку / довідки (--help)?
Як писати інструменти для CLI UNIX, як мені зробити так, щоб програма роздрукувала довідку та / або використання? Я зазвичай використовую fprintf(stderr, "help text here");, але з цим є кілька питань. По-перше, я не впевнений, чи варто використовувати stderr. Це все в порядку, або я повинен використовувати stdout? Як ви …

6
Значення за замовчуванням - вони добрі чи злі?
Питання про значення за замовчуванням взагалі - значення функцій повернення за замовчуванням, значення параметрів за замовчуванням, логіка за замовчуванням, коли щось не вистачає, логіка за замовчуванням для обробки винятків, логіка за замовчуванням для обробки крайових умов тощо. Тривалий час я вважав значення за замовчуванням "чистою злом", що є "маскує катастрофу" …

5
В яких умовах (якщо такі є), є хорошою практикою запитувати два сервери та споживати лише найшвидший відповідь?
Я запитав, що зараз є питанням видаленої спільноти щодо SO про те, чому хтось використовує JavaScript Promise.race, і користувач з високою репутацією прокоментував це: Якщо у вас є два сервіси, які обчислюють якесь значення, ви можете запитувати їх як паралельно, так і використовувати яке коли-небудь значення повертається першим, а не …


4
Чи погана практика використовувати параметри методу?
Бувають випадки, коли мені потрібно буде змінити значення, передане в метод, із самого методу. Прикладом може бути санітація рядка типу цього методу: void SanitizeName(string Name) { Name = Name.ToUpper(); //now do something here with name } Це суто нешкідливо, оскільки Nameаргумент не передається посиланням. Однак якщо з якихось причин розробник …

2
Haskell шляхи вирішення проблеми 3n + 1
Ось проста проблема програмування від SPOJ: http://www.spoj.com/problems/PROBTRES/ . В основному, вас просять вивести найбільший цикл Колатца для чисел між i і j. (Цикл Колатца з числа $ n $ - це кількість кроків, щоб в кінцевому підсумку отримати від $ n $ до 1.) Я шукав спосіб Haskell вирішити проблему …

3
Чи погано посилатися на елементи масиву доступу через арифметику вказівника замість оператора []?
Я щойно почав вчитися програмувати на C, і щоб покращити своє розуміння покажчиків та масивів, я намагався посилатися на елементи масиву, не створюючи взагалі жодного покажчика: for(k1 = 0; k1 < ROW; k1++){ for(k2 = 0; k2 < COLUMN; k2++){ array[k1][k2] = k1*COLUMN + k2 + 1; printf("[%d][%d] = %d\n", …

3
Підходить для розміщення відомих проблем безпосередньо в програмному забезпеченні?
Я взяв на себе підтримку програми для Android, і є декілька залишкових проблем, які я більш-менш виправляю, але все-таки виникають проблеми через різні версії ОС Android. Наприклад, для надсилання веб-запиту класом MediaPlayer є спеціальні заголовки HTTP, відібрані ОС перед відправленням запиту, але лише на Android 4.X (я вичерпно перевірена), і …

8
Чи писати програмне забезпечення простіше, ніж читати та розуміти його з нуля? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

4
Як я можу уникнути повзучості в сольному проекті?
Тож у мене є програма, над якою я працював ще в 2011 році і весь 2012 рік, але останній реліз був у грудні 2011 року . Я активно працював над цим, але функція повзучості заманювала його некрасиву голову, і тепер вона заповнена тонами на незакінчені функції. Погана частина полягає в …

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