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

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

7
Чи є більш розумний спосіб зробити це, крім довгого ланцюжка, якщо заяви або перемикання?
Я реалізую бот IRC, який отримує повідомлення, і я перевіряю це повідомлення, щоб визначити, які функції потрібно викликати. Чи є розумніший спосіб зробити це? Здається, що це швидко вийде з рук, коли я піднявся, як 20 команд. Можливо, є кращий спосіб цього абстрагувати? public void onMessage(String channel, String sender, String …

10
Як моя команда може уникнути частих помилок після рефакторингу?
Щоб трохи ознайомитись: я працюю в компанії з приблизно дванадцятьма розробниками Ruby on Rails (+/- інтернів). Віддалена робота є загальною. Наш продукт складається з двох частин: досить жирне серцевина та тонка до великих замовницьких проектів, побудованих на ньому. Клієнтські проекти зазвичай розширюють ядро. Переписування ключових особливостей не відбувається. Я можу …

4
Допомагати тому, хто не є і ніколи не буде професійним програмістом написати код, який є більш розбірливим і придатним для використання та інтерпретації [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередилось на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Я Елвіс, дуже намагаюся навчитися бути Ейнштейном. Я працюю в Морті. Про що, чорт забирає …

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

11
Коли ви хочете дві посилання на один і той же об’єкт?
В Java конкретно, але, ймовірно, і в інших мовах: коли було б корисно мати два посилання на один і той же об’єкт? Приклад: Dog a = new Dog(); Dob b = a; Чи є ситуація, коли це було б корисно? Чому це було б кращим рішенням для використання, aколи ви …

4
Як задокументувати структуру на високому рівні програми Java?
Передумови: Мої співробітники та я пишемо статтю для академічного журналу. У ході наших досліджень ми написали програму моделювання на Java. Ми хочемо зробити програму моделювання вільно доступною для використання іншими. Ми вирішили розмістити код у сховищі GitHub. Щоб полегшити користування іншим, ми хочемо написати гарну документацію для нашої програми, зокрема: …

1
Плюси і мінуси просторів імен vs включати / вимагати в PHP?
Нещодавно я почав використовувати простори імен у PHP. Коли я вперше побачив їх, я подумав, що їх синтаксис некрасивий, і я ніколи їх не використовую. Однак я створив автозавантажувач (spl_autoload_register), який робить це так, що мені ніколи більше не потрібно писати оператор включення / вимагати. Мені подобаються простори імен, але …
20 php  namespace 

6
Поступове введення тексту: "Майже кожна мова зі системою статичного типу також має систему динамічного типу"
Ця вимога по Aleks Бромфілд говорить: Практично кожна мова зі системою статичного типу також має систему динамічного типу. Крім C, я не можу придумати винятку Це поважна претензія? Я розумію, що за допомогою рефлексії або завантаження класів під час виконання Java стає дещо подібним - але чи може ця ідея …

7
Чи повинні статичні дані зберігатися в базі даних чи десь ще?
На даний момент я працюю над деяким програмним забезпеченням, і я не впевнений, який шлях для цього взяти. У мене є деякі дані для зберігання десь на мобільному пристрої. Дані ніколи не змінюватимуться і мають ієрархічну залежність і будуть використовуватися для заповнення відображення. Ці дані є досить обґрунтованими. У мене …
20 design 

5
Боротьба з технічним боргом як "найнижчий розробник"?
Скажімо, ви працюєте в компанії, і ви робите це розробка програмного забезпечення для них. Ви не маєте уявлення про велику картину чи, можливо, незначну. У вас є завдання, призначені вам через систему відстеження випусків. Вам даються завдання, ви змушуєте їх працювати так, як їх описує завдання, ви повертаєте їх назад. …

6
Чи є там мови надвисокого рівня? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб це було темою для обміну стеками програмного забезпечення. Закрито 5 років тому . Історично HLL - це щось на зразок C, Fortran або Pascal, а VHLL - це щось на кшталт Ruby або …

2
Чому Java не вводить ім'я файлу в аргументи?
У C і C ++ основний метод утримує ім'я файлу в першому положенні масиву в argv [0]. Однак у Java ім'я файлу не входить до масиву рядків args. Чи є для цього практична причина? Я розумію, що це робить ітерацію через аргументи командного рядка на основі 0 замість 1, але …
20 java  c++  c 

7
Як найкраще захистити від 0 переданих параметрів std :: string?
Я щойно зрозумів щось тривожне. Кожного разу, коли я писав метод, який приймає параметр std::string, я відкриваю себе на невизначену поведінку. Наприклад, це ... void myMethod(const std::string& s) { /* Do something with s. */ } ... можна назвати так ... char* s = 0; myMethod(s); ... і я нічого …
20 c++ 

4
Порожній інтерфейс для об'єднання декількох інтерфейсів
Припустимо, у вас є два інтерфейси: interface Readable { public void read(); } interface Writable { public void write(); } У деяких випадках об'єкти, що реалізують, можуть підтримувати лише один із них, але у багатьох випадках реалізація підтримує обидва інтерфейси. Люди, які використовують інтерфейси, повинні зробити щось на кшталт: // …

5
Чому git комісії не містять назви гілки, на якій вони були створені?
Працюючи з git в команді з використанням функціональних гілок, мені часто важко зрозуміти структуру гілок в історії. Приклад: Скажімо, існувала функція гілки функції / make-coffee , і виправлення помилок продовжувалось на master паралельно гілці функції. Історія може виглядати так: * merge feature/make-coffee |\ | * small bugfix | | * …
20 git  branching 

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