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

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

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

5
Які переваги використання розгалуження як сольного розробника?
По-перше, мені відомо, що про VCS як соло розробника було задано багато питань, але вони часто занадто широкі. Це стосується лише розгалуження, і досі воно позначене як дублікат ... передбачуваний дублікат знову ж таки позначений як ще один дублікат іншого питання, який занадто широкий і не стосується розгалуження конкретно. Ось …

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

15
Чи все ще LISP корисний у сучасному світі? Яка версія найбільше використовується?
Я намагаюся навчити себе новій мові програмування через регулярні проміжки часу. Нещодавно я читав, як Лісп та його діалекти знаходяться на протилежному кінці спектру з таких мов, як C / C ++, що змусило мене допитливо дізнатися більше про нього. Однак дві речі мені незрозумілі, і я шукаю настанови щодо …

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

6
Що насправді є "бізнес-логікою"?
Я працюю з веб-розробкою з 2009 року, коли почав з PHP. Коли я перейшов на ASP.NET, я багато чув про DDD та OOAD, де багато уваги приділяється цій "бізнес-логіці" та "правилам бізнесу". Справа в тому, що всі програми, які я розробляв дотепер, стосувалися операцій CRUD, і я цього ніколи не …

5
Як Swift може бути настільки швидшим, ніж Objective-C у цих порівняннях?
Apple запустила свою нову мову програмування Swift на WWDC14 . У презентації вони здійснили порівняння продуктивності між Objective-C та Python. Далі наведено зображення одного з їх слайдів, порівняння цих трьох мов, які виконують деякий складний тип об'єкта: Був ще більш неймовірний графік порівняння продуктивності за допомогою алгоритму шифрування RC4 . …

8
Що робити, коли код, поданий на перевірку коду, виявляється занадто складним?
Код важко дотримуватися, але, здається, він (в основному) працює добре, принаймні, з поверхневим тестуванням. Тут можуть бути невеликі помилки, але дуже важко сказати, читаючи код, чи вони є симптоматикою більш глибоких проблем або простих виправлень. Перевірка загальної коректності вручну за допомогою перегляду коду є дуже складною і трудомісткою, якщо це …
115 code-reviews 

2
Як виявити кодування файлу?
У моїй файловій системі (Windows 7) у мене є деякі текстові файли (це файли скриптів SQL, якщо це має значення). При відкритті з Notepad ++ , в меню «Кодування» деякі з них , як повідомляється, кодування «UCS-2 Little Endian» і деякі «UTF-8 без BOM». Яка тут різниця? Всі вони, здається, …

20
Чи підходить фраза «ніколи не винаходити колесо» для студентів?
Мені здається, що я постійно стикаюся з цим виразом "не винаходити колесо" або "ніколи не винаходити колесо", коли я задаю деякі запитання щодо ТА. Вони говорять вам про використання деяких фреймворків або існуючих пакетів. Я знаю, звідки походить таке ставлення, оскільки нерозумно витрачати час на те, що інші вже вирішили. …

14
Чому 0 помилково?
Це питання може здатися німим, але чому для більшості мов програмування 0оцінюється значення falseта яке інше [ціле число] true? Порівняння рядків Оскільки питання видається занадто простим, я поясню себе трохи більше: по-перше, це може здатися очевидним для будь-якого програміста, але чому б не було мови програмування - насправді вона може …

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

8
Чому багато програмістів переміщують свій код до github?
Протягом останніх 6 місяців і більше я бачив багато кодів, розміщених на sourceforge.net, а також на інших хостинг-сайтах "Переміститися до GitHub". Простий пошук Google із фразою "Переміщено в Github" повертає кілька результатів, що містять текст, переміщений до github. Це дуже бентежить мене, і мені цікаво, чому саме люди рухаються? Це …

12
Чому при розробці одного продукту або частини програмного забезпечення використовується кілька мов програмування?
Я нещодавній студент, який мав на меті розпочати магістр з інформатики. Я натрапив на декілька проектів з відкритим кодом, які мене справді заінтригують та спонукають до участі в них (CloudStack, OpenStack, moby та Kubernetes). Я знайшов одне, що більшість із них є спільним - це використання декількох мов програмування (наприклад, …

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

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