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

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

17
Есть ли польза от компиляции кода по ходу дела?
Недавно у меня было собеседование, на котором мне дали час, чтобы написать настоящий код. Это не было огромное количество, вероятно, менее 100 строк. Примерно через 45 минут я скомпилировал, запустил его и заставил работать. Возможно, я потратил 5-10 минут на разработку ошибок компиляции и пару незначительных ошибок, но в целом …

20
Как найти положительные моменты в обзоре кода?
После некоторых серьезных проблем с качеством в прошлом году моя компания недавно представила обзоры кода. Процесс обзора кода был введен быстро, без каких-либо инструкций или каких-либо контрольных списков. Другой разработчик и я решили проверить все изменения, внесенные в системы, прежде чем они будут объединены в магистраль. Мы также были выбраны …
183 code-reviews 

9
«Не каждый может быть программистом»?
Старая поговорка, которой придерживаются многие программисты, гласит: «Для изучения программирования требуется определенный тип ума, и не каждый может это сделать». Теперь я уверен, что у всех нас есть своя собственная история неподтвержденных данных, но было ли это изучено с научной точки зрения?
182 case-studies 

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

8
Каждый язык написан на C?
Иногда при программировании на разных языках (C / C ++, C #) мне приходит в голову эта мысль: Все ли языки написаны на языке программирования C? Является ли язык C матерью / отцом всех языков? Все ли концепции ( ООП и т. Д.) Реализованы на C? Я в правильном направлении?

17
Как вы балансируете между «делай как надо» и «делай как можно скорее» в своей повседневной работе? [закрыто]
Я снова и снова размышляю над этим вопросом. Я хочу сделать все правильно: написать чистый, понятный и правильный код, который легко поддерживать. Однако в конечном итоге я пишу патч на патч; просто потому, что времени нет, клиенты ждут, ошибка должна быть исправлена ​​в одночасье, компания теряет деньги на этой проблеме, …

16
Почему автоматическое тестирование не проходит в моей компании?
Мы несколько раз пытались внедрить автоматизированное тестирование для разработчиков в моей компании. Наша команда QA использует Selenium для автоматизации тестов пользовательского интерфейса, но я всегда хотел представить юнит-тесты и интеграционные тесты. В прошлом, каждый раз, когда мы пытались это сделать, все были взволнованы в течение первого или двух месяцев. Затем, …

30
Важна ли микрооптимизация при кодировании?
Недавно я задал вопрос о переполнении стека, чтобы выяснить, почему isset () был быстрее, чем strlen () в PHP . Это подняло вопрос о важности читаемого кода и о том, стоит ли даже задумываться об улучшении производительности микросекунд в коде. Мой отец - бывший программист, и я показал ему ответы. …

19
Как я могу просмотреть свой собственный код? [закрыто]
Я работаю над проектом в одиночку и должен поддерживать свой собственный код. Обычно проверка кода выполняется не автором кода, поэтому рецензент может взглянуть на код свежим взглядом - однако у меня нет такой роскоши. Какие методы я могу использовать для более эффективного просмотра моего собственного кода?

30
Как можно использовать навыки программирования, чтобы помочь людям в бедности?
Будучи студентом, изучающим информатику в колледже, я часто слышу от друзей, работающих над различными гуманитарными проектами, и я хочу сделать что-то сам. Но, похоже, у программистов не так много очевидных способов помочь, как, скажем, у врачей или учителей. Каким образом программисты могут использовать свой талант для людей, живущих в бедности?
176 skills 

3
Подходит ли Entity Framework для сайтов с большим трафиком?
Является ли Entity Framework 4 хорошим решением для общедоступного веб-сайта с потенциально 1000 посещений в секунду? В моем понимании, EF - жизнеспособное решение для в основном небольших веб-сайтов или веб-сайтов интрасети, но его было бы нелегко масштабировать для чего-то вроде популярного веб-сайта сообщества (я знаю, что SO использует LINQ to …

4
Какая польза от двухэтапного процесса коммита git?
Я изучаю git и заметил, что он имеет двухэтапный процесс коммита: git add <files> git commit Первый шаг помещает изменения в так называемую «область подготовки» или «индекс». Меня интересует, почему принимается это дизайнерское решение и в чем его преимущества? Кроме того, как пользователь git вы делаете это или просто используете …

16
Когда оправдываются геттеры и сеттеры?
Геттеры и сеттеры часто критикуются за то, что они не являются правильными. С другой стороны, большая часть кода OO, который я видел, содержит обширные методы получения и установки. Когда получатели и установщики оправданы? Вы пытаетесь избежать их использования? Они чрезмерно используются в целом? Если у вашего любимого языка есть свойства …

5
Когда вы используете структуру вместо класса? [закрыто]
Каковы ваши практические правила, когда использовать структуры против классов? Я думаю об определении этих терминов в C #, но если ваш язык имеет схожие понятия, я бы тоже хотел услышать ваше мнение. Я склонен использовать классы практически для всего и использовать структуры только тогда, когда что-то очень упрощено и должно …
174 c#  design  class  struct 

12
В чем разница между API и SDK?
Я просматривал различные API и SDK, когда понял, что не могу отличить то, что называется API, и то, что называется SDK . Оба они концептуально представляют собой способ для вашей программы взаимодействовать и контролировать ресурсы, предоставляемые другим программным обеспечением, независимо от того, является ли это другое программное обеспечение веб-службой, приложением …

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