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

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

13
Яке було ваше найскладніше полювання на помилок і як ви його знайшли та вбили?
Це питання "Поділіться знаннями". Мені цікаво вчитися на ваших успіхах та / або невдачах. Інформація, яка може бути корисною ... Фон: Контекст: мова, додаток, середовище тощо. Як виявлено помилку? Хто чи що визначив помилку? Наскільки складним було відтворення помилки? Полювання. Яким був ваш план? З якими труднощами ви стикалися? Як …
31 experience  bug 

10
Як правило, ви надсилаєте об'єкти або їх змінні в функції?
Що є загальноприйнятою практикою між цими двома випадками: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } або function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Іншими словами, як правило, краще передавати цілі об’єкти навколо або просто потрібні поля?

5
Реалізація інтерфейсу, коли вам не потрібен один із властивостей
Досить прямо. Я реалізую інтерфейс, але є одна властивість, непотрібна для цього класу, і насправді його не слід використовувати. Моя початкова ідея полягала в тому, щоб просто зробити щось на кшталт: int IFoo.Bar { get { raise new NotImplementedException(); } } Я гадаю, що в цьому немає нічого поганого, але …

10
Чому Math.Sqrt () є статичною функцією?
У дискусії про статичні та екземплярні методи я завжди думаю, що це Sqrt()повинен бути метод примірника типів чисел, а не статичний метод. Чому так? Це, очевидно, працює на цінність. // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); Типи значення, очевидно, …

5
Чи вважається Pythonic кількома класами, визначеними в одному файлі?
Уперше працюючи з python, я виявив, що я закінчую записом декількох класів у один і той же файл, що протистоїть іншим мовам, таким як Java, який використовує один файл у класі. Зазвичай ці класи складаються з 1 абстрактного базового класу з 1-2 конкретними реалізаціями, використання яких незначно відрізняється. Я опублікував …

4
Чи є різниця між компонентом і модулем
У мене є невелика проблема з модулем та компонентом термінів. На мій погляд, модуль - це класи, які доступні лише через чітко визначений інтерфейс. Вони приховують усі відомості про реалізацію та підлягають багаторазовому використанню. Модулі визначають модулі, від яких вони залежать. Чим відрізняються компоненти? Я шукав це в деяких книгах, …

1
Чому в рамках PHP-фреймів використовується концепція маршруту?
Причина, яку я запитую, це тому, що сценарій PHP не є маршрутом? Наприклад, якщо у вас є article.php, ваш маршрут просто http://mysite.com/article.php . Навіщо далі абстрагувати поняття маршруту, коли воно вже існує як простий файл?

12
Чи неправильно брати код, який ви створили на роботі, і повторно використовувати його для особистих проектів?
На своїх різних робочих місцях я завжди писав код, який змушував мене думати, "що це буде дуже корисно в інших ситуаціях". Дійсно, я навмисно пишу код, навіть якщо мені потрібно більше часу, що, як я знаю, допоможе мені в майбутньому (наприклад, спеціальні SubString()функції). Хорошим кандидатом для цих фрагментів є різні …

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


5
Асинхронне програмування на функціональних мовах
Я в основному програміст C / C ++, а це означає, що більшість мого досвіду стосується процедурних та об'єктно-орієнтованих парадигм. Однак, як відомо багато програмістів на C ++, C ++ з роками перейшов до акцентів до функціонально-есківського стилю, що завершилося, нарешті, додаванням лямбда і закриттям в C ++ 0x. Незважаючи …


5
Коли використовувати словник проти кортежу в Python
Конкретним прикладом на увазі є список імен та їх розміри. Я не можу вирішити, чи має кожен елемент у списку бути такою формою {"filename": "blabla", "size": 123}, чи просто ("blabla", 123). Словник здається мені більш логічним, оскільки, наприклад, доступ до розміру file["size"]є більш пояснювальним, ніж file[1]... але я насправді не …

5
Чи переважають конкретні методи кодовим запахом?
Чи правда, що переважаючі конкретні методи - це кодовий запах? Тому що я думаю, якщо вам потрібно перекрити конкретні методи: public class A{ public void a(){ } } public class B extends A{ @Override public void a(){ } } його можна переписати як public interface A{ public void a(); } …

4
Використання магічних рядків / номерів [закрито]
Це дещо суперечлива тема, і, мабуть, існує стільки думок, скільки є програмістів. Але заради цього я хочу знати, які звичні практики в бізнесі (або на ваших робочих місцях). На моєму робочому місці у нас є чіткі правила кодування. Один розділ цього присвячений магічним рядкам / номерам. У ньому зазначено (для …

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