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

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

1
Аналізатор англійської мови (для The Hobbit 1982)
Захоплювався читати про текстову пригодницьку гру «Хобіт», в якій був неймовірно надійний аналізатор під назвою «Інгліш»: ... Інгліш дозволено вводити розширені речення, такі як "запитайте Гендальфа про цікаву карту, тоді візьміть меч та вбийте троля" Аналізатор був складним та інтуїтивно зрозумілим: він вводив займенники, прислівники ("злісно атакують гобліна"), пунктуацію та …

9
Чому більшість "відомих" імперативних мов / OO дозволяють неперевірений доступ до типів, які можуть представляти значення "нічого"?
Я читав про (не) зручність мати nullзамість (наприклад) Maybe. Прочитавши цю статтю , я переконаний, що було б набагато краще використовуватиMaybe (або щось подібне). Однак я здивований, побачивши, що всі "відомі" імперативні або об'єктно-орієнтовані мови програмування все ще використовують null(що дозволяє неперевірений доступ до типів, які можуть представляти значення "нічого"), …

8
Як поділ коду та даних стало практикою?
Будь ласка, уважно прочитайте питання: воно запитує як , а не чому . Нещодавно я натрапив на цю відповідь , яка пропонує використовувати базу даних для зберігання незмінних даних: Це звучить як багато магічних чисел, які ви описуєте - особливо якщо вони залежать від частини - це насправді дані, а …

15
У часи сучасних обчислень, у "типових ділових додатках" - чому важлива ефективність? [зачинено]
Для когось із вас це може здатися дивним питанням. Я хобі-програміст Java. Я розробив кілька ігор, програму AI, яка створює музику, іншу програму для малювання тощо. Це вам скаже, що я маю досвід програмування, але не в професійному розвитку бізнес-додатків. Я бачу багато розмов на цьому сайті про продуктивність. Люди …

2
Чому Java використовує UTF-16 для внутрішнього представлення рядків?
Я б міг уявити, що причина була швидкою, масив, як доступ до символу в індексі, але деякі символи не впишуться в 16 біт, тому це не буде працювати ... Тож якщо вам доведеться в будь-якому разі обробляти особливі справи, чому б просто не використовувати UTF-8?
29 java  strings  unicode 

5
Коли стандартним для упаковки Linux став вихідний код .tar.gz?
Під час перегляду проектів з відкритим кодом, розроблених в основному для систем Linux, та завантаження останніх пакетів вихідний код завжди зберігається у файлі .tar.gz або .tar.bz2. Чи є якась причина для використання .tar.gz або .tar.bz2, а не щось на зразок .zip або .rar чи якогось іншого алгоритму стиснення (або навіть …

5
Чому Java / C # не може реалізувати RAII?
Питання: Чому Java / C # не може реалізувати RAII? Пояснення: Я знаю, що сміттєзбірник не є детермінованим. Таким чином, з поточними особливостями мови неможливо автоматично викликати метод об'єкта Dispose () при виході з області дії. Але чи можна додати таку детерміновану ознаку? Моє розуміння: Я вважаю, що реалізація RAII …

5
Це правильне "правило" для ідентифікації алгоритму "великого O"?
Я дізнався більше про нотацію Big O та як її обчислити на основі написання алгоритму. Я натрапив на цікавий набір "правил" для обчислення алгоритмів Big O notation і хотів дізнатися, чи я на правильному шляху чи не в дорозі. Велика O Позначення: N function(n) { For(var a = 0; i …
29 algorithms  big-o 

9
Чистий веб-браузер Java, чи це практично? [зачинено]
Я знаю, що веб-браузер Java можливий, але чи це практично? Я бачив проект Lobo і мушу визнати, що я вражений, але з того, що я зібрав, схоже, що розвиток зупинився в 2009 році. Чи зможе браузер, закодований у чистій Java (жодних прив’язків Java Java не будь-якого типу), зможе скласти конкуренцію …
29 java  web  browser 

7
Яка різниця між "приховуванням даних" та "капсуляцією"?
Я читаю "Паралельність Java на практиці", і там сказано: "На щастя, ті самі об'єктно-орієнтовані методи, які допомагають писати добре організовані, ремонтовані класи - такі, як інкапсуляція та приховування даних, - також можуть допомогти вам створити безпечний потік" заняття ». Проблема №1 - я ніколи не чув про приховування даних і …

3
Schema.org проти мікроформатів
Вони обидва служать одній і тій же цілі: надання словникового запасу для семантичної розмітки. Схема розпізнається та стандартизується ... але стандарт мікроформатів здійснюється шляхом відкритого спільноти. Схема використовує мікродані в документації, а мікроформати - на заняттях. (Зверніть увагу: мікродані означають, що елемент повинен бути єдиним itemtype, в той час як …

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

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

6
Якою мовою я повинен називати свої бізнес-класи?
Я прошу найкращої практики з цим питанням. Це лише питання, якщо компанія-замовник суто національної мови має рідну мову, крім англійської, я думаю. Якщо у замовника багато в основному дуже доменних (скажімо, німецьких) виразів, змішаних з деякими меншими доменними назвами. Мова наших коментарів до коду, назви класів / методів / змінних …
29 naming 

11
Чи повинні ваші найкращі програмісти перевіряти код усіх інших у контролі джерела?
Однією з відмінностей svn і git є можливість контролювати доступ до сховища. Важко порівняти ці два, тому що існує різниця в поглядах щодо того, кому взагалі слід дозволити вносити зміни! Це питання стосується використання git як централізованого сховища для команди в компанії десь. Припустимо, що члени команди мають різний рівень …

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