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

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

5
Что должно и что не должно быть в заголовочном файле? [закрыто]
Какие вещи абсолютно никогда не должны быть включены в заголовочный файл? Например, если я работаю с задокументированным форматом промышленного стандарта, который имеет много констант, будет ли хорошей практикой определять их в заголовочном файле (если я пишу парсер для этого формата)? Какие функции должны идти в заголовочный файл? Какие функции не …
71 c  headers 

7
Как фамилия Null вызывает проблемы во многих базах данных?
Я прочитал статью на BBC. Один из примеров, по их словам, заключается в том, что у людей с фамилией «Нуль» возникают проблемы с вводом своих данных на некоторых веб-сайтах. Нет объяснения по поводу ошибки, с которой они сталкиваются. Но, насколько мне известно, строка 'Null' и фактическое значение Null совершенно разные …
71 database  null 

4
Почему по умолчанию git pull выполняет слияние вместо ребазирования?
Рассмотрим следующую ситуацию: У вас есть клон Git-репозитория У вас есть локальные коммиты (коммиты, которые еще нигде не были переданы) Удаленный репозиторий имеет новые коммиты, которые вы еще не согласовали Так что-то вроде этого: Если вы выполните git pullс настройками по умолчанию, вы получите что-то вроде этого: Это потому что …
71 git 

9
Можем ли мы предположить во время тестирования программного обеспечения, что пользователь не будет выполнять такие глупые действия с программным обеспечением?
Например: при выполнении функционального тестирования формы в веб-приложении мы будем проверять поля, вводя различные виды случайных входных значений. Как правило, мы, пользователи веб-приложения, не вводим случайные значения в поля. Так какая польза от включения всех тех тестовых случаев, которые могут / не могут привести к ошибкам, когда вероятность появления такого …

5
Почему бы вам не использовать директиву using в C #?
Существующие стандарты кодирования в большом проекте C # включают правило, согласно которому все имена типов должны быть полностью квалифицированными, что запрещает использование директивы using. Итак, а не знакомые using System.Collections.Generic; .... other stuff .... List<string> myList = new List<string>(); (Это, вероятно, не удивительно, что varтакже запрещено.) Я заканчиваю с: System.Collections.Generic.List<string> …

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

15
Возможно ли достичь абсолютного нулевого состояния ошибки для крупномасштабного программного обеспечения?
Я говорю о 20-30+ миллионах строк кода, программного обеспечения в масштабе и сложности Autodesk Maya, например. Если вы заморозите разработку до тех пор, пока это необходимо, сможете ли вы на самом деле исправить все ошибки до тех пор, пока просто не будет ни одной ошибки, если такая вещь может быть …

13
Хорошие, простые причины наличия нескольких сред
На протяжении всей моей карьеры я работал в компаниях, в которых были разные среды для разных целей. У нас всегда было более или менее наше окружение рабочего стола, среда тестирования, среда QA, промежуточная среда и производственная среда. Это касается как серверов / приложений, так и любых источников данных, которые мы …

19
Обзор до или после принятия кода, что лучше?
Традиционно мы выполняли проверку кода перед фиксацией, сегодня я поспорил со своим коллегой, который предпочел проверку кода после фиксации. Во-первых, вот немного предыстории, У нас есть опытные разработчики, и у нас также есть новые сотрудники с практически нулевым опытом программирования. Мы хотели бы выполнить быстрые и короткие итерации, чтобы выпустить …

15
Я прекратил писать ради забавы, это плохой знак? [закрыто]
В какой-то момент я просто перестал программировать ради забавы. Раньше я ходил на работу, выполнял свои задания, а затем, когда приехал домой, я пошёл и написал что-нибудь для развлечения. Однако сейчас я просто иду домой и пытаюсь избежать компьютера. Я предпочитаю читать газету, смотреть телевизор, выходить в бар и т. …
71 coding 

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

19
Почему я должен заботиться о микропроизводительности и эффективности?
Многие вопросы и ответы на страницах C / C ++, конкретно или косвенно обсуждают проблемы микро производительности (такие как издержки косвенной или прямой против встроенной функции), или использование алгоритма O (N 2 ) против O (N log N) на список из 100 предметов. Я всегда пишу код, не заботясь о …

3
В чем причина того, что [+ [nodiscard]] в C ++ 17 почти везде не используется в новом коде?
C ++ 17 вводит [[nodiscard]]атрибут, который позволяет программистам отмечать функции таким образом, что компилятор выдает предупреждение, если возвращаемый объект отбрасывается вызывающей стороной; один и тот же атрибут может быть добавлен ко всему типу класса. Я читал о мотивации этой функции в исходном предложении , и я знаю, что C ++ …
70 c++ 

4
Приводит ли SOLID к написанию фреймворка поверх стека технологий?
Мне нравится SOLID, и я стараюсь изо всех сил использовать и применять его при разработке. Но я не могу не чувствовать, что подход SOLID превращает ваш код в код «фреймворка» - то есть код, который вы разработали бы, если бы создавали фреймворк или библиотеку для использования другими разработчиками. Я обычно …
70 frameworks  solid 

9
Как вы разрабатываете программное обеспечение без критериев приемлемости?
Как вы совместно разрабатываете программное обеспечение в команде из 4-5 разработчиков без критериев приемлемости, не зная, что тестируют тестеры, и с множеством (2-3) человек, выступающих в качестве владельца продукта. Все, что у нас есть, это отрывочные «спецификации» с некоторыми снимками экрана и несколькими пунктами с маркерами. Нам сказали, что это …

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