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

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

14
Коли проводиться тестування типу?
Припустимо, що мова має певну безпеку типу (наприклад, не JavaScript): З огляду на метод, який приймає a SuperType, ми знаємо, що в більшості випадків, коли ми можемо спокуситися виконати тестування типу, щоб вибрати дію: public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); } …

5
Як мови з типами Maybe замість нулів обробляють крайові умови?
Ерік Ліпперт зробив дуже цікавий момент у своїй дискусії про те, чому C # використовує, nullа не Maybe<T>тип : Послідовність системи типів важлива; чи можемо ми завжди знати, що нерегульована посилання ніколи за жодних обставин не виявляється недійсною? А як щодо конструктора об'єкта з ненульовим полем опорного типу? А як …

9
Чому б не відкрити первинний ключ
В моїй освіті мені сказали, що це недосконала ідея викрити користувачеві фактичні первинні ключі (не тільки ключі DB, але й усі первинні аксесуари). Я завжди вважав це проблемою безпеки (тому що зловмисник може намагатися читати речі не свої). Тепер я маю перевірити, чи має право користувач все-таки отримати доступ, тож …

16
Чи є корисною порадою старших програмістів щодо використання книг завжди? [зачинено]
Я молодший розробник і працюю в галузі лише 5 років. У моїй теперішній компанії є старший, давайте назвемо його Інфестус. Інколи мені дають можливість світити і робити щось абсолютно нове з нуля. Одним з останніх прикладів було те, що мені довелося зробити синглтон в багатопотоковому додатку. Я вирішив використовувати цей …

11
Наскільки загальним є команда, щоб написати все по-своєму? [зачинено]
У своєму недавньому інтерв'ю я запитав інтерв'юерів: "як ти займаєшся оцінкою нових технологій та бібліотек (наприклад, SignalR) та залученням їх до використання?". Вони сказали, що цього не роблять, а натомість вони все пишуть самі, щоб їм не довелося покладатися ні на кого іншого. Фірма не працює для уряду або оборонних …

4
TDD - Зовні в та проти
Яка різниця між створенням програми Outside In проти побудови її Inside Out за допомогою TDD? Це книги, які я читав про тестування TDD та модулів: Тестова розробка: за прикладом розробки тестових програм: Практичний посібник: Практичний посібник Рішення в реальному світі для розробки високоякісних рам PHP та програм для тестових програм …

9
Чи повинні методи класу називати власні геттери та сетери?
Де я працюю, я бачу багато класів, які роблять такі речі: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } …

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

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

12
Як зробити крок назад і подивитися на код свіжими очима? [зачинено]
Я провів останній рік, як команда, яка працювала в одиночку, розробляючи додаток для багатих клієнтів (35 000+ LoC, для чого це варто). Наразі стабільно і у виробництві. Однак я знаю, що мої навички були іржавими на початку проекту, тому без сумніву, в коді є основні проблеми. На даний момент більшість …

6
Хто створив ідеї (-и) перших контурних конструкцій?
while (1) { if (1+1==2) { print "Yes, you paid attention in Preschool!"; } else { print "Wait... I thought 1+1=2"; } } Як розробник, всім нам доводиться дуже часто використовувати петлі . Ми це знаємо. Мені було цікаво, хто думав про ідею мати петлі? Якою мовою введені петлі? Яка …
53 history  loops 

1
Залучення до Github (як знайти проекти) [закрито]
Я хочу внести свій внесок у проекти з відкритим кодом на Github. Здебільшого, я хотів би просто почати виправляти невеликі помилки або додавати функції. Я не маю на увазі конкретного проекту. Я хотів би працювати над проектами C, C ++, Python, .NET, Java тощо. Однак моя проблема полягає в тому, …

2
Чому "недійсний" не дозволений як загальний тип у C #
Які дизайнерські рішення стверджували на користь того, що їх voidне можна було сконструювати та не допустити як загальний тип? Зрештою, це просто спеціальний порожній structі уникнув би загального ПДФА, який мав чітких Funcта Actionделегатів. (C ++ дозволяє явні voidповернення та дозволяє voidяк параметр шаблону)

5
Що означає "Нічні будівлі"?
Я деякий час використовую проекти з відкритим кодом і розробляю програми з відкритим кодом, і так часто зустрічаю слова "Nightly Build", і мені завжди цікаво, що це насправді означає. Чи це буквально означає, що проекти робляться виключно як побічні проекти (як правило, вночі після того, як кожен закінчив свої робочі …

5
Чому б не XHTML5?
Отже, HTML5 - це великий крок вперед, мені кажуть. Останнім кроком, який ми зробили, про який я знаю, - це впровадження XHTML. Переваги були очевидні: простота, строгість, можливість використовувати стандартні XML-аналізатори та генератори для роботи з веб-сторінками тощо. Як дивно і страшно, що HTML5 відкочує все це назад: ми знову …
53 html  html5  xml  xhtml 

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