Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

8
Лучше ли документировать функции в заголовочном файле или исходном файле?
На языках, которые различают исходный файл и файл заголовка (в основном C и C ++), лучше документировать функции в заголовочном файле: (ворованный из CCAN ) /** * time_now - return the current time * * Example: * printf("Now is %lu seconds since epoch\n", (long)time_now().tv_sec); */ struct timeval time_now(void); или в …
86 c++  c  headers 

19
Почему OCaml не более популярен?
Я всегда слышал, что C - это язык, который выбирают для встраиваемых систем, или что-то, что должно работать на максимальной скорости. Я никогда не развивал любовь к C, в основном потому, что я не люблю арифметику указателей, а язык едва ли стоит выше ассемблера. С другой стороны, языки ML являются …
86 c  ocaml 

22
ООП сложно, потому что это не естественно?
Часто можно услышать, что ООП естественно соответствует тому, как люди думают о мире. Но я бы категорически не согласился с этим утверждением: мы (или, по крайней мере, я) концептуализируем мир с точки зрения отношений между вещами, с которыми мы сталкиваемся, но в центре внимания ООП находится разработка отдельных классов и …

4
Различия между TypeScript и Dart [закрыто]
Microsoft недавно представила Typescript, новый JavaScript-подобный язык программирования. Некоторое время назад я услышал о Dart, новом языке программирования, созданном Google для решения проблем, связанных с Javascript, таких как производительность, масштабируемость и т. Д. Назначение обоих новых языков мне кажется одинаковым. Как вы думаете? Являются ли цели языков одинаковыми? Каковы реальные …
85 dart  typescript 

20
Насколько важно уменьшить количество строк в коде?
Я разработчик программного обеспечения, который работает на J2SE (ядро Java). Часто во время наших обзоров кода нас просят уменьшить количество строк в нашем коде. Речь идет не об удалении избыточного кода, а о следовании стилю, который фокусируется на выполнении одних и тех же вещей с меньшим количеством строк в коде, …

10
Как вы избегаете добытчиков и сеттеров?
У меня были некоторые трудности с дизайном классов. Я читал, что объекты раскрывают их поведение, а не данные; следовательно, вместо использования методов получения / установки для изменения данных, методы данного класса должны быть «глаголами» или действиями, действующими на объект. Например, в объекте «Счета», мы имели бы методы Withdraw()и Deposit()вместо того …

4
В чем разница между императивным, процедурным и структурным программированием?
Исследуя (книги, Википедию, похожие вопросы по SE и т. Д.), Я понял, что императивное программирование является одной из основных парадигм программирования, где вы описываете серию команд (или операторов), которые должен выполнять компьютер (так что вы довольно Многое прикажи ему предпринять конкретные действия, отсюда и название «императив»). Все идет нормально. С …

17
Являются ли мои негативные стажировки репрезентативными для реального мира? [закрыто]
Мне любопытно, если мой нынешний опыт в качестве стажера является представителем реальной отрасли. В качестве фона, я прохожу большую часть двух компьютерных специальностей и математики в крупном университете; Я оценил каждый класс и обожал их всех, поэтому я хотел бы думать, что я не ужасен в программировании. Я прошел стажировку …

6
«Стандартный» формат для использования метки времени как части имени файла [закрыто]
Я искал стандартный формат для использования даты / времени в качестве части имени файла и не смог ничего придумать. Мой вопрос состоит из двух частей: Использует метки времени для обеспечения уникальности в именах файлов плохая практика? Я мог бы получить время от даты создания и сериализовать имена файлов (file0001.bak, file0002.bak …

15
Регулирование индустрии программного обеспечения [закрыто]
Каждые несколько лет кто-то предлагает более жесткие правила для индустрии программного обеспечения. Эта статья IEEE в последнее время привлекает внимание к этой теме. Если бы разработчики программного обеспечения, которые пишут программы для систем, подвергающих общественный риск физическому или финансовому риску, знали, что они будут проверены на их компетентность, можно подумать, …
85 legal  profession 

16
Как мне поступить с медленным и не назначенным коллегой по команде? [закрыто]
Я работал над новым проектом. Проект работает следующим образом: конечный пользователь может получить доступ к веб-приложению, используя ссылку, и он может добавить несколько систем в свою сеть и управлять деталями этой конкретной системы. Моя часть включает в себя интерфейс и веб-сервер, который сделан на Python. Мой Python фактически общается с …
85 teamwork 

17
Как вы мешаете себе принести работу домой? [закрыто]
Программирование - это очень церебральная работа, и одна из самых больших проблем, с которыми я сталкиваюсь, - привезти свою работу домой со мной. Это так легко сделать: всякий раз, когда у меня появляется возможность думать, мой разум, естественно, отвлекается на вопросы, связанные с работой. Я нахожу так много других вещей …

11
Является ли статика универсальным «злом» для модульного тестирования, и если да, то почему Resharper рекомендует его? [закрыто]
Я обнаружил, что существует только 3 способа статических зависимостей модульного тестирования (макет / заглушка) в C # .NET: Кроты TypeMock JustMock Учитывая, что два из них не бесплатны, а один не выпущен в версии 1.0, издеваться над статичными вещами не так уж и легко. Имеет ли это статические методы и …

30
Когда вы принимаете решение о том, стоит ли работать в новой компании, какие у вас посредники? [закрыто]
Я знаю, что мы рассмотрели, какие вопросы вы должны задать о компании, прежде чем решите работать там . Но что вы делаете с ответами? Другими словами, что бы вы назвали нарушителем? Т.е. что вас так напугало бы в компании, что вы бы там не работали, даже если бы все остальное …

6
Это плохая практика для обеспечения порядка выполнения для модульных тестов?
Я пишу тесты для проекта, который состоит из нескольких подмодулей. Каждый написанный мной тестовый пример выполняется независимо друг от друга, и я очищаю все данные между тестами. Несмотря на то, что тесты выполняются независимо, я рассматриваю возможность применения порядка выполнения, поскольку в некоторых случаях требуется более одного подмодуля. Например, подмодуль …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.