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

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

18
Як мені платити за програмування речей, на які потрібно виправити дві хвилини? [зачинено]
Я справді з цим плутаюсь. Я вважаю, що чим більше я набуваю досвіду, тим більше я стаю експертом у пошуку помилок та їх швидкому виправленні. Тепер мій бос отримав веб-сайт від програміста, який робить дуже поганий код. Тепер він надсилає список проблем, які потрібно виправити. Припустимо, це проблема з таблицею …
127 freelancing 

6
Чи повинна змінна називатися Id чи ID? [зачинено]
Це трохи педантично, але я бачив, як деякі користуються Idяк: private int userId; public int getUserId(); та інші використовують: private int userID; public int getUserID(); Чи одна з них краща назва, ніж інша? Чому? Я бачив, що це робилося дуже непослідовно у великих проектах. Якби я встановив стандарт, з яким …

11
Чи є щось, що можна зробити за допомогою рекурсії, що не можна зробити за допомогою циклів?
Бувають випадки, коли використання рекурсії краще, ніж використання циклу, і періоди, коли використання циклу краще, ніж використання рекурсії. Вибір "правильного" може заощадити ресурси та / або призвести до меншої кількості рядків коду. Чи є випадки, коли завдання можна виконати лише за допомогою рекурсії, а не циклу?
126 recursion  loops 

11
Чи доцільно інтерв'юери запитувати кандидатів на ім’я користувача Stack Exchange? [зачинено]
Чи вважаєте ви доцільним, якби вас запитали своє ім'я користувача Stack Exchange у співбесіді з програмним забезпеченням (або як запит на скринінг перед інтерв'ю)? Мені це здається дуже розумним запитом, і той, який би був надзвичайно інформативним - я впевнений, що міг би дізнатися більше про кандидата за п’ять хвилин, …
126 interview 

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

10
Чому більшість із нас використовує «я» як змінну лічильника циклу?
Хто-небудь замислювався над тим, чому так багато з нас повторюють цю ж схему, використовуючи однакові імена змінних? for (int i = 0; i < foo; i++) { // ... } Здається , найбільше коду я коли - небудь дивився на використань i, j, kі так далі , як ітераційних змінних. …

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

17
Як ви зберігаєте "нечіткі дати" в базі даних?
Це проблема, з якою я стикався кілька разів. Уявіть, що у вас є запис, який ви хочете зберегти в таблиці бази даних. У цій таблиці є стовпець DateTime, який називається "date_create". Цей один конкретний запис був створений давно, і ви не дуже впевнені в точній даті, але ви знаєте рік …

20
Як ви безпечно видаляєте фрагмент коду, який виглядає так, що він ніколи не вводиться?
Ви знайшли якийсь код, який виглядає зайвим, і компілятор цього не помічає. Що ви робите, щоб бути впевненим (чи максимально близьким до впевненості), що видалення цього коду не спричинить регресу. Дві ідеї спадають на думку. "Просто" використовувати відрахування на основі того, виглядає чи ні код, який він повинен виконати. Однак, …
125 clean-code 

19
Чи може функція бути занадто короткою?
Кожного разу, коли я не раз пишу ту саму логіку, я зазвичай дотримуюся її функції, тому в моєму додатку є лише одне місце, я повинен підтримувати цю логіку. Побічним ефектом є те, що я іноді закінчую однією або двома лінійними функціями, такими як: function conditionMet(){ return x == condition; } …

30
Які інноваційні безготівкові фінансові вигоди я пропоную своїм розробникам, щоб зберегти їх разом із конкурентною зарплатою?
Варіанти акцій не мають особливого сенсу, оскільки приватні компанії. [Це все одно, якщо ви є улюбленим фейсбуком І регуляторна система дозволяє такі сайти, як другий ринок, але я відхиляюся.] Я міг би подумати про деякі: Користь для здоров’я для батьків та батьків Спонсорство велосипеда, що економить паливо, доїхати до офісу …
125 management 

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

14
Чи має рішення бути максимально загальним або максимально конкретним?
Скажіть, у мене є сутність, яка має атрибут "type". Можливо 20 можливих типів. Тепер мене просять реалізувати щось, що дозволило б змінити тип з A-> B, що є єдиним випадком використання. Тож чи слід реалізувати щось, що дозволяє довільні зміни типу, якщо вони є дійсними типами? Або я повинен ТОЛЬКО …

15
Як ви пишете одиничні тести на код із важко передбачуваними результатами?
Я часто працюю з дуже числовими / математичними програмами, де точний результат функції важко передбачити заздалегідь. Намагаючись застосувати TDD з таким кодом, я часто вважаю, що писати код під тестом значно простіше, ніж писати одиничні тести для цього коду, тому що єдиний спосіб, який я знаю, щоб знайти очікуваний результат, …
124 unit-testing  tdd 

16
Команда постійно не справляється зі спринтними цілями
Ми невелика програмна компанія з одним продуктом. Ми використовуємо scrum , а наші розробники вибирають функції, які вони хочуть включити у кожен спринт. На жаль, за останні 18 місяців команда жодного разу не надала функції, які взяли на себе спринт. Я прочитав багато дописів / відповідей, в яких говорилося про …
124 scrum  planning 

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