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

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

3
наскільки складним повинен бути конструктор
Я маю дискусію з колегою про те, скільки роботи може виконати конструктор. У мене є клас B, який внутрішньо вимагає іншого об'єкта A. Об'єкт A - один з небагатьох членів, якому клас B повинен виконувати свою роботу. Всі його публічні методи залежать від внутрішнього об'єкта А. Інформація про об'єкт A …
18 c#  constructors 

8
Які хороші одиничні тести для висвітлення випадку використання кочення штампів?
Я намагаюся впоратися з тестуванням одиниць. Скажімо, у нас є штамп, який може мати за замовчуванням кількість сторін, рівну 6 (але може бути 4, 5 стороною тощо): import random class Die(): def __init__(self, sides=6): self._sides = sides def roll(self): return random.randint(1, self._sides) Чи будуть наступні дійсні / корисні одиничні тести? …

7
Чи слід, якщо / інші заяви упорядковуються рідкісністю випадків або труднощами їх вирішення?
У якомусь коді я зараз пишу, у мене є щось подібне: if (uncommon_condition) { do_something_simple(); } else { do(); something(); long(); and(); complicated(); } Частина мене думає: "Це добре, як це написано. Прості справи повинні йти першими, а складніші справи - далі". Але інша частина говорить: "Ні! elseКод повинен підпадати …

5
Структура папки веб-додатків Java
Як початківець J2EE, я нещодавно почав розробляти власний проект з нуля, використовуючи Core of J2EE: Servlets & Jsps. Я не міг оцінити, чи правильна моя папка проекту. Ось моя структура папки проекту. Перш ніж задавати питання, я визнаю, що я не зміг відповісти або не виправдати, якщо хтось запитує мене, …

4
Як структурувати тести, коли один тест - це установка іншого тесту?
Я інтегрую тестування системи, використовуючи лише загальнодоступні API. У мене є тест, який виглядає приблизно так: def testAllTheThings(): email = create_random_email() password = create_random_password() ok = account_signup(email, password) assert ok url = wait_for_confirmation_email() assert url ok = account_verify(url) assert ok token = get_auth_token(email, password) a = do_A(token) assert a b …
18 testing 

2
Які вимоги до атрибуції в ліцензії MIT?
selectalicense.com стверджує, що ліцензія на MIT - це "дозвільна ліцензія, яка є короткою і суттєвою . Це дозволяє людям робити що-небудь із вашим кодом за належною атрибуцією та без гарантії »(моє наголос). Читаючи ліцензію, проте, я не бачу нічого, що б стверджувало, що присвоєння оригіналу автору має бути де-небудь, тож …

2
Семантична версія під час виправлення важливої ​​помилки
Наразі я керую бібліотекою, яка має багато публічного використання, і у мене виникло питання про семантичну версію . Я хочу переробити одну досить важливу частину бібліотеки, яка реалізована неправильно - і завжди була реалізована неправильно. Але це буде означати зміни до публічного API, що є важливим рішенням. Зміна, яку я …

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

5
Знайшов краще рішення проблеми на роботі - чи варто відмовитися від розміщення фрагмента коду в Інтернеті?
Я думаю, що більшість із нас, програмістів, використовували Stack Overflow для вирішення проблем щодня: шукали ефективний алгоритм, щоб щось зробити. Тепер уявіть собі ситуацію: у вас є проблема, яку потрібно вирішити. Трохи поглянувши, знайшли питання StackOverflow, але ви поки що не задоволені відповідями. Таким чином, ви повинні зробити власне дослідження: …
18 legal 

5
Навіщо використовувати базу даних пам'яті для тестування інтеграції?
Я дуже розгублений, коли бачу велику кількість баз даних в пам'яті, що використовуються для тестування, тому що я також багато почув від передового досвіду інтеграційного тестування, що середовище, яке виконує тест, має максимально нагадувати виробниче середовище, включаючи операційну систему , бібліотека, двигун бази даних тощо. Що я тут пропускаю?
18 testing 

4
Декоратори Python та макроси Lisp
Дивлячись на декораторів Python, хтось зробив заяву, що вони настільки ж потужні, як макроси Lisp (особливо Clojure). Дивлячись на приклади, наведені в PEP 318, мені здається, що вони просто фантазійний спосіб використання простих старих функцій вищого порядку в Lisp: def attrs(**kwds): def decorate(f): for k in kwds: setattr(f, k, kwds[k]) …
18 python  lisp  clojure  macros 

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

5
Чи часто пропущені терміни зустрічаються у програмах? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Закрито 6 років тому . Заблокований . Це питання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі він не приймає нових відповідей чи взаємодій. Це була моя позаштатна робота в oDesk. Я …

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

5
Що робить JVM настільки універсальним для підтримки такої кількості мов JVM?
JVM підтримує так багато мов, крім Java, як Groovy,Clojure,Scalaі т.д., які є функціональними мовами на відміну від Java (я маю на увазі Java до версії 8, де Lambda'sвони не підтримуються), які не підтримують функціональні можливості. На високому рівні те, що робить JVM настільки універсальним, що він може підтримувати як об'єктно-орієнтовані, …

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