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

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

3
Відмінності між даними, коли тоді (GWT) і Arrange Act Assert (AAA)?
У TDD є синтаксис Arrange Act Assert (AAA): [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } У тестах написання …
13 c#  unit-testing  tdd  bdd 

4
Чи є стандартний спосіб або стандартна альтернатива упаковці структури в с?
Коли програмування в CI виявило безцінним пакувати структури за допомогою __attribute__((__packed__))атрибута GCC, тож я можу легко перетворити структурований фрагмент летючої пам'яті в масив байтів, що передаються по шині, зберігаються для зберігання або застосовуються до блоку регістрів. Упаковані структури гарантують, що при обробці як масиві байтів він не буде містити жодних …

1
Об'єкти життєвих інваріантів проти семантики переміщення
Коли я давно вивчив C ++, мені було наголошено, що частина пункту C ++ полягає в тому, що так само, як петлі мають "петлю-інваріанти", класи також мають інваріанти, пов'язані з життям об'єкта - речі, які повинні бути правдивими доки об’єкт живий. Речі, які повинні бути встановлені конструкторами, а збережені методами. …

1
Чи існує стандартизована практика впорядкування атрибутів у тегах HTML?
Я працюю над проектом AngularJS, а атрибутів багато в моїх HTML-елементах: <button type="submit" ng-click="Page.UI.DetailView.ExecuteFunction()" ng-disabled="step5.$invalid" class="btn btn-success pull-right"> Submit this Product </button> Чи існує стандартизована умова для порядку цих ознак? Алфавітним? Згруповано за значенням (наприклад, всі кутові атрибути разом)? Спочатку стандартні атрибути HTML (наприклад, "тип")?

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

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

5
Зламані тести старого / застарілого блоку
Я працюю у великій компанії і відповідаю за велику програму java з тисячами тестів на джун. З того моменту, як я перейшов на цю роль, було 200-300 зламаних тестів (ймовірно, зламаних роками). Тести старі і тендітні, і вони є безладом залежностей від спагетті, які, як правило, закінчуються даними "пісочного". Моя …

3
З яких причин ви б використовували окреме розширення класу для кожного делегата в Swift?
Я працював підручником Рея Вендерліха і зауважив, що автор використовує розширення класу, щоб утримувати зворотні делегатські виклики, а не обробляти їх у самому класі, тобто: делегувати зворотні виклики всередині розширення класу: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } на відміну від …

4
Як перевірити код, який залежить від складних API (наприклад, Amazon S3)?
Я борюся з тестуванням методу, який завантажує документи на Amazon S3, але я думаю, що це питання стосується будь-якої нетривіальної API / зовнішньої залежності. Я придумав лише три можливі рішення, але жодне не здається задовільним: Запустіть код, фактично завантажте документ, перевірте в API AWS, що він завантажений, і видаліть його …
13 testing  mocking 

4
Чи слід розгорнути лише 32-розрядні або 32- та 64-бітні версії для Windows?
У мене є кросплатформна програма, написана мовою компіляції. Для Linux зазвичай доступні як версії amd64, так і i386, тому користувач може вибрати версію, відповідну для поточного середовища. В Mac прийнято робити Universal Binary, щоб він міг підтримувати кілька версій комп'ютерів Apple. Або просто надайте 64-бітну версію, оскільки всі сучасні комп'ютери …

3
Як привернути увагу програміста в певних умовах?
Почнемо з прикладу. Скажімо, у мене є метод, який називається, exportщо сильно залежить від схеми БД. І під "сильно залежить" я маю на увазі, що я знаю, що додавання нового стовпчика до певної таблиці часто (дуже часто) призводить до зміни відповідної exportметодики (зазвичай ви також повинні додавати нове поле до …

3
Кілька доступних жетонів доступу до Oauth2
У мене є API, який використовує oAuth2 та власні мобільні додатки, які використовують цей API як резервний. Оскільки користувачі можуть одночасно входити через кілька пристроїв (наприклад, iPhone, iPad, планшетний ПК або телефон Android), мені потрібен API, щоб розрізняти кожне з'єднання. Я хотів би зробити це через окремі маркери доступу: кожен …
13 spring  oauth2 

3
Як ви безпечно переробляєте мовою з динамічним масштабом?
Для тих із вас, хто має щастя не працювати мовою з динамічним розмахом, дозвольте мені трохи оновити, як це працює. Уявіть псевдомову, яку називають "RUBELLA", яка поводиться так: function foo() { print(x); // not defined locally => uses whatever value `x` has in the calling context y = "tetanus"; } …

4
Чи макети порушують принцип "Відкрито / закрито"?
Деякий час тому я прочитав відповідь на переповнення стека, яку не можу знайти, пропозицію, в якій пояснювалося, що ви повинні перевірити загальнодоступні API, і автор сказав, що ви повинні перевірити інтерфейси. Автор також пояснив, що якщо реалізація методу зміниться, вам не потрібно буде змінювати тестовий випадок, оскільки це порушить контракт, …

3
Чи можливе одночасно функціонування каррі та варіди?
Я замислююся над тим, щоб зробити доступні функції currying і variadic у динамічно набраній мові програмування, але мені цікаво, чи це можливо чи ні. Ось псевдокод: sum = if @args.empty then 0 else @args.head + sum @args.tail яка нібито підсумовує всі його аргументи. Тоді, якщо sumсама лікується числом, то результат …

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