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

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

6
Як уникнути великих і незграбних UITableViewController на iOS?
У мене є проблема при впровадженні MVC-схеми на iOS. Я здійснив пошук в Інтернеті, але, здається, не знайшов жодного приємного рішення цієї проблеми. Багато UITableViewControllerреалізацій здаються досить великими. Більшість прикладів, які я бачив, дозволяє UITableViewControllerреалізувати <UITableViewDelegate>та <UITableViewDataSource>. Ці реалізації є великою причиною того UITableViewController, що стає великим. Одним з рішень …

4
Які обмеження встановлює JVM для оптимізації хвостових викликів
Clojure не виконує оптимізацію хвостових викликів самостійно: коли у вас є рекурсивна функція хвоста, і ви хочете, щоб її оптимізували, ви повинні використовувати спеціальну форму recur. Аналогічно, якщо у вас є дві взаємно рекурсивні функції, ви можете оптимізувати їх лише за допомогою trampoline. Компілятор Scala здатний виконувати TCO для рекурсивної …
36 scala  clojure  jvm  tail-call 

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

10
Я початківець. Чи можу я безпосередньо почати вивчати C ++ 11? або я повинен вивчити старий C ++? [зачинено]
Я початківець і маю незначні знання в програмуванні. Було б добре, якби я безпосередньо вивчив C ++ з книг, які висвітлюють нові C ++ 11, або я повинен вивчати старі найкращі книги C ++? Якщо я маю мало знань про C ++, перш ніж вивчати C ++ 11? або я …
36 c++  c++11 

4
Етикет при питанні на каналі IRC [закрито]
Багато великих проектів OSS підтримують канали IRC для обговорення їх використання та розвитку. Коли я зациклювався на використанні проекту, намагаючись знайти інформацію в Інтернеті і не вдався, один із способів я намагаюся зрозуміти, що робити - це зайти в канал IRC і запитати. Але мої запитання люди з каналу незмінно …

6
Як слід TDD грати Yahtzee?
Скажімо, ви пишете стиль TDD для гри Yahtzee. Ви хочете перевірити частину коду, яка визначає, чи є набір з п'яти рулонів штампу - це повний дім. Наскільки мені відомо, виконуючи TDD, ви дотримуєтесь цих принципів: Спочатку напишіть тести Напишіть найпростішу можливу річ, яка працює Уточнити і рефактор Тож початковий тест …
36 unit-testing  tdd 

9
Чи програмісти погані тестери?
Я знаю, це дуже схоже на інші запитання, які вже задавались, але насправді це дещо інакше. Здається, загалом вважається, що програмісти не дуже добре виконують роль тестування програми. Наприклад: Джоель про програмне забезпечення - П'ять перших (неправильних) причин у вас немає тестерів (акцент у мене) Навіть не думайте намагатися сказати …
36 testing  qa 

7
Чи є застарілі практики для багатопотокового та багатопроцесорного програмування, які я більше не повинен використовувати?
На початку FORTRAN та BASIC фактично всі програми були написані з заявами GOTO. Результатом став код спагетті, а рішення - структуроване програмування. Аналогічно, покажчики можуть мати труднощі з управління характеристиками в наших програмах. C ++ розпочався з великою кількістю покажчиків, але рекомендується використовувати посилання. Бібліотеки, такі як STL, можуть зменшити …

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

7
Чому так багато мов передається за значенням?
Навіть мови, де у вас є явні маніпуляції з покажчиком, як C, це завжди передається за значенням (ви можете передавати їх за посиланням, але це не поведінка за замовчуванням). Яка користь від цього, чому стільки мов передаються за значеннями і чому інші передаються за посиланням ? (Я розумію, що Haskell …

8
Чи стає OOP легше чи складніше? [зачинено]
Коли концепції об'єктно-орієнтованого програмування були впроваджені програмістами ще тому, це виглядає цікаво, а програмування було більш чистим. OOP був такий Stock stock = new Stock(); stock.addItem(item); stock.removeItem(item); Це було легше зрозуміти під назвою, що само описується. Але тепер OOP з таким малюнком, як об'єкти передачі даних, об'єкти цінності, сховище, введення …

2
Який правильний спосіб зробити REST?
Всі сьогодні роблять SOA , навіть якщо деякі насправді не розуміють, про що йдеться. Так вони роблять неправильно. Використовуючи це як аналогію, я знаю, що таке REST (або, принаймні, я думаю, що це роблю), і хочу зробити щось з цього. Але я хочу зробити це правильно. Тож моє запитання - …

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

9
Контроль версій та особистий файл конфігурації
У нашому проекті використовується конфігураційний файл, призначений для користувача. Цей файл наразі не контролюється версіями, оскільки він відрізняється для кожного користувача. Проблема полягає в тому, що коли розробник додає новий модуль, який потребує конфігурації, або змінює ім'я існуючих модулів, інші розробники отримують помилки, оскільки їх приватні файли конфігурації не оновлюються. …

15
Чи варто продовжувати практику кодування самоучки або навчитися робити кодування професійно? [зачинено]
Останнім часом я займаюся професійною роботою, спілкуюся з іншими програмістами та дружую в галузі. Єдине - я 100% самоучка. Це призвело до того, що мій стиль надзвичайно відхилився від стилю тих, хто належним чином навчений. Це різні методи і організація мого коду. Це суміш кількох речей, які я роблю. Я …

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