Розробка програмного забезпечення

Питання та відповіді для професіоналів, науковців та студентів, які працюють у життєвому циклі розвитку систем

10
Яка перевага формату маленького ендіану?
Процесори Intel (і, можливо, деякі інші) використовують для зберігання маленький формат ендіан. Мені завжди цікаво, чому хтось хотів би зберігати байти у зворотному порядку. Чи має цей формат якісь переваги перед великим ендіанським форматом?


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

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

11
Чи є таке поняття, як занадто багато одиничних тестів?
Мені було доручено скласти тестові одиниці для існуючої програми. Після закінчення мого першого файлу у мене 717 рядків тестового коду на 419 рядків оригінального коду. Чи стане це співвідношення некерованим, коли ми збільшуємо охоплення коду? Моє розуміння одиничного тестування полягало в тестуванні кожного методу в класі, щоб переконатися, що кожен …
139 unit-testing  tdd 

15
Чому мови, керовані пам'яттю, такі як Java, Javascript та C # зберегли ключове слово `new`
newКлючові слова в мовах , як Java, JavaScript і C # створюють новий екземпляр класу. Цей синтаксис, здається, успадкований від C ++, де newвикористовується спеціально для виділення нового екземпляра класу на купі та повернення вказівника на новий екземпляр. У C ++ це не єдиний спосіб побудови об'єкта. Ви також можете …

14
Коли доцільно не проводити одиничний тест?
Я працюю в невеликій компанії як сольний розробник. Я фактично єдиний розробник компанії. У мене є кілька (відносно) великих проектів, які я писав і підтримую регулярно, і жоден з них не має тестів для їх підтримки. Починаючи нові проекти, я часто замислююся, чи варто спробувати підхід до TDD. Це звучить …
138 unit-testing  tdd 

7
Як пошук вписується в інтерфейс RESTful?
При проектуванні інтерфейсу RESTful семантика типів запитів вважається життєво важливою для дизайну. GET - Список колекції або отримання елемента PUT - Замініть колекцію чи елемент POST - Створення колекції або елемента DELETE - Ну, ерм, видалити колекцію чи елемент Однак, схоже, це не охоплює поняття "пошук". Наприклад, при розробці набору …

25
Це "нормально", щоб люди не працювали?
Після закінчення коледжу мене прийняли на роботу молодшим програмістом трохи більше року тому. Я швидко помітив, що я на градуси масштабів швидший за всіх інших програмістів; це, мабуть, тому, що я просто не витрачаю час "взагалі". Однак більшість інших людей із задоволенням дивляться на стелю, переглядають YouTube, Facebook та випадкові …
137 productivity 

2
Конвенція про іменування файлів Python?
Я бачив цю частину PEP-8 https://www.python.org/dev/peps/pep-0008/#package-and-module-names Мені не ясно, чи стосується це ім'я файлу модуля / класу / пакета. Якби у мене був один приклад з кожного, чи мають усі імена файлів у нижньому регістрі з підкресленнями, якщо це доречно? Або щось інше?

10
Про розвиток глибоких знань з програмування
Іноді я бачу запитання щодо крайових випадків та інших дивацтв на Stack Overflow, на які легко відповідати, як подібні Джон Скіт та Ерік Ліпперт, демонструючи глибокі знання мови та її багатьох тонкощів, як ця: Ви можете подумати, що для використання foreachциклу колекція, яку ви повторюєте, повинна реалізувати IEnumerableабо IEnumerable<T>. Але, …
136 code-quality 

13
Чи надихаються шаблони дизайну?
Я мав дискусію з одним із наших старших розробників, який займався цим бізнесом 20 років. Він досить відомий в Онтаріо за блогом, який він пише. Дивна річ - це те, що він мені сказав: він сказав, що є фрагмент коду, з яким можна працювати, тому що він написаний з підручника, …

10
Коли корисно змусити прибирати сміття?
Тож я читав питання про примушення сміттєзбірника C # бігати, де майже кожна відповідь однакова: ти можеш це зробити, але не повинен - ​​за винятком деяких дуже рідкісних випадків . На жаль, там ніхто не деталізується, що таке випадки. Чи можете ви сказати мені, за яким сценарієм насправді є доброю …

17
Чи краще повернути NULL або порожні значення з функцій / методів, де значення повернення відсутнє?
Я шукаю тут рекомендацію. Я бореться з тим, чи краще повернути NULL або порожнє значення методу, коли значення повернення відсутнє або його неможливо визначити. Взяти для прикладу такі два способи: string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person with a matching …

8
Що C ++ робить краще, ніж D?
Я нещодавно вивчаю D і починаю ознайомлюватися з мовою. Я знаю, що це пропонує, я ще не знаю, як все використовувати, і я мало знаю про D ідіоми тощо, але я вчуся. Мені подобається D. Це приємна мова, яка, певним чином, є величезним оновленням до C, і зроблено чудово. Жодна …

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