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

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

5
Проблеми з уникненням занять з іменування Smurf з просторами імен
Я потягнув звідси термін smurf іменування (номер 21). Щоб врятувати будь-кого, хто не знайомий з проблемою, іменування Smurf - це акт префіксації купи пов’язаних класів, змінних тощо із загальним префіксом, щоб у результаті ви отримали " SmurfAccountViewпропуск a SmurfAccountDTOдо SmurfAccountController" тощо. Я зазвичай чув це рішення - створити простір імен …

12
Документація в ООП повинна уникати вказівки, виконує чи «обчислювач» якісь обчислення?
Програма CS моєї школи уникає будь-якої згадки об'єктно-орієнтованого програмування, тому я читав самостійно читання, щоб доповнити його - конкретно, Об'єктно-орієнтована побудова програмного забезпечення Бертрана Мейєра. Мейєр неодноразово зазначає, що класи повинні приховувати якомога більше інформації про їх реалізацію, що має сенс. Зокрема, він неодноразово стверджує, що атрибути (тобто статичні, не …

3
Як навчити молодших програмістів для сьогоднішнього (складного) веб-середовища?
В даний час наша компанія розробляє додатки, що складаються, в основному, на веб-серверах Ruby on Rails та купу різних клієнтів REST, від кіоск-систем у Java до вбудованих пристроїв на C / C ++ (крім інтерфейсів для стандартних веб-браузерів). Нам потрібно розширити свою команду, і, не зумівши знайти хороших старших програмістів, …

13
Мови, які не дозволяють підкреслити цілі константи, чи є хорошою практикою створення константи на 1 мільярд?
Мови, які не дозволяють підкреслити цілі літерали , чи гарна ідея створити константу на 1 мільярд? наприклад, в C ++: size_t ONE_BILLION = 1000000000; Звичайно, ми не повинні створювати константи для малих чисел, таких як 100. Але з 9 нулями, можливо, просто залишити нуль або додати додатковий у такому коді: …

2
Помилкові уявлення про суто функціональні мови?
Я часто стикаюся з такими твердженнями / аргументами: Чисті функціональні мови програмування не допускають побічних ефектів (і тому мало корисні на практиці, оскільки будь-яка корисна програма має побічні ефекти, наприклад, коли вона взаємодіє із зовнішнім світом). Чисті функціональні мови програмування не дозволяють писати програму, яка підтримує стан (що робить програмування …

6
Яка різниця між розробкою та науково-дослідною роботою?
Мене колега попросив чітко пояснити різницю між звичайною розробкою та дослідженнями та розробками (НДДКР) і не зміг цього зробити. Прочитавши Вікіпедію, у мене ще немає точної відповіді. Згідно з Вікіпедією (трохи змінена): Є дві основні моделі: В одній моделі основна функція - розробка нових продуктів ; в іншій моделі основна …

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

4
Де зберігаються нульові значення чи вони взагалі зберігаються?
Я хочу дізнатися про нульові значення або нульові посилання. Наприклад, у мене є клас під назвою Apple, і я створив його примірник. Apple myApple = new Apple("yummy"); // The data is stored in memory Тоді я з’їв це яблуко, і тепер воно повинно бути нульовим, тому я встановив його як …
39 memory  null 

9
Чи є утиліти класів, що не мають нічого, крім статичних членів, анти-шаблон у C ++?
Питання, куди я повинен розміщувати функції, не пов'язані з класом , викликав певну дискусію щодо того, чи є сенс у C ++ поєднувати утилітні функції в класі чи просто вони існують як вільні функції в просторі імен. Я походжу з фону C #, де останнього варіанту не існує, і, природно, …

14
Як Python використовується в реальному світі? [зачинено]
Я хочу влаштуватися на роботу програмістом Python. Я знаю основи мови і створив з нею кілька ігор за допомогою пігами . Я також почав експериментувати з Джанго . Однак, дивлячись на ринок робочих місць, здається, не дуже багато завдань Python пов'язані з Інтернетом. Що стосується настільних речей, схоже, що дуже …
39 python 

11
Код зазвичай генерується з UML? [зачинено]
Тож, коли я навчався в університеті, мене навчали про переваги UML та його майбутнє в розробці коду. Але з мого досвіду роботи в галузі я виявив, що, хоча ми використовуємо діаграми - починаючи від діаграм ER, класових діаграм, діаграм стану, до діаграм робочих потоків - все це для комунікаційних цілей. …
39 uml  diagrams  visio 

20
Чи існують реальні алгоритми, які значно перевершують клас нижче? [зачинено]
Минулої ночі я обговорював з іншим програмістом, що, хоча щось може бути O (1), операція, яка є O (n), може перевершити її, якщо в алгоритмі O (1) є велика константа. Він не погодився, тож я приніс це сюди. Чи є приклади алгоритмів, які значно перевершують класи класу під ним? Наприклад, …
39 algorithms  big-o 

8
У C ++ скільки часу програміст витрачає на управління пам'яттю
Люди, які звикли до сміття зібрані мови, часто бояться управління пам’яттю C ++. Є такі інструменти, як auto_ptrі shared_ptrякі дозволять вирішити багато завдань управління пам’яттю. Безліч бібліотек C ++ передують цим інструментам і мають власний спосіб вирішення завдань управління пам'яттю. Скільки часу ви витрачаєте на завдання управління пам’яттю? Я підозрюю, …
39 c++  memory 

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

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

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