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

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

7
Как мне перейти от возможности писать код к тому, чтобы стать хорошим разработчиком?
Я разочарован отсутствием конкретных объяснений о том, как перейти от возможности писать сценарии (bash, awk) и писать простые приложения (c, php, python) к проектированию и разработке более крупного и более сложного программного обеспечения. Кажется, что с одной стороны есть книги по языку программирования, а с другой - книги по разработке …

5
Лучше использовать директиву препроцессора или оператор if (constant)?
Допустим, у нас есть кодовая база, которая используется для многих разных клиентов, и у нас есть некоторый код, который важен только для клиентов типа X. Лучше ли использовать директивы препроцессора, чтобы включать этот код только в клиент типа X, или использовать если заявления? Чтобы быть понятнее: // some code #if …
10 c++  c 

6
Является ли термин «веб-портал» устаревшим?
Мой босс использует термин «портал» для проекта, над которым я все время работаю. Для меня это слово заставляет меня думать о Yahoo в конце 90-х. Слово «портал» имеет смысл старой школы, или это только я? Считаете ли вы, что это нормально, или это затянет восприятие продукта нашим клиентом в средние …

5
Должен ли анализ кода выполняться до или после юнит-тестов
Я спорю со своим коллегой о том, когда выполнять проверку кода - до или после модульных тестов. Какова лучшая практика? Некоторые факторы, которые мы, возможно, должны принять во внимание (может быть больше): Изменение размера кода - большое изменение означает, что больше изменений будет результатом проверки кода. Если эти изменения больше, …

5
Должен ли комментарий метода включать как краткое изложение, так и возвращаемое описание, когда они часто бывают похожими?
Я сторонник надлежащим образом документированного кода, и я хорошо осведомлен о возможных его недостатках . Это выходит за рамки этого вопроса. Мне нравится следовать правилу добавления комментариев XML для каждого публичного участника, учитывая, насколько мне нравится IntelliSense в Visual Studio. Однако существует одна форма избыточности, которая беспокоит даже такого чрезмерного …

3
Готовитесь к рассмотрению кода в качестве разработчика?
Я ищу некоторые идеи здесь. Я прочитал статью. Как должны проводиться проверки кода и какие проверки кода, в чем преимущества? которые были очень информативными, но мне все еще нужно больше ясности в вопросе ниже. Мой вопрос Будучи целевым разработчиком, можете ли вы предложить некоторые передовые практики, которые разработчик может использовать, …
10 c#  code-reviews 

5
Создание и отлов исключений в одной и той же функции / методе
Я написал функцию, которая запрашивает ввод у пользователя, пока пользователь не введет положительное целое число (натуральное число). Кто-то сказал, что я не должен генерировать и перехватывать исключения в моей функции и должен позволять вызывающей стороне моей функции обрабатывать их. Интересно, что другие разработчики думают об этом. Я также, вероятно, неправильно …
10 exceptions 

5
Поддерживает ли Java разделение между определениями классов и реализациями, как в C ++?
У меня есть домашнее задание, и мне нужно оценить, какой подход лучше в соответствии с GRASP «Защищенное изменение». Я нашел вопрос о переполнении стека о разделении файлов заголовка и кода в C ++ . Тем не менее, я хочу знать, почему Java не следует C ++ в продвижении разделения между …

5
Анализируя язык программирования
В SICP авторы утверждают ( раздел 1.1 ), что существует три основных «механизма» языков программирования: примитивные выражения , представляющие простейшие сущности, с которыми связан язык средство комбинирования , с помощью которого составные элементы строятся из более простых средство абстракции , с помощью которого составные элементы могут быть названы и управляться …

3
Есть ли известный алгоритм планирования турнирных матчей?
Просто интересно, есть ли уже алгоритм планирования турниров, который я мог бы использовать или даже немного адаптировать. Вот мои требования: Переменное количество противников, принадлежащих к разному количеству команд / клубов, должно быть в паре с противником. Два соперника не могут быть из одного клуба Если есть нечетное количество игроков, 1 …
10 algorithms 

2
Код контрактов / утверждает: что с дублирующимися проверками?
Я большой поклонник написания заявлений, контрактов или любых других типов проверок, доступных на языке, который я использую. Одна вещь, которая меня немного беспокоит, это то, что я не уверен, какова общая практика работы с дублирующимися чеками. Пример ситуации: сначала я пишу следующую функцию void DoSomething( object obj ) { Contract.Requires<ArgumentNullException>( …

2
Что такое хороший способ познакомиться с PHP, исходя из фона ASP.NET? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 4 года назад . В настоящее время я очень доволен созданием инструментов / веб-приложений в среде ASP.NET. Я не собираюсь …

3
BitBucket - в чем прикол? (TANSTAAFL, верно?)
Возможности BitBucket и цены (до 5 пользователей бесплатно) заставили меня задуматься о том, в чем же подвох ... нет такого понятия, как бесплатный обед, в конце концов. Что BitBucket выходит из моего неоплачиваемого участия, кроме красивого мужчины, чтобы свободно включать в свои рекламные материалы (согласно TOS)?

4
LINQ против уровня доступа к данным
Я всегда учил себя обрабатывать любой код доступа к данным в совершенно отдельном «слое» для моей бизнес-логики и кода пользовательского интерфейса. Это всегда было очень хорошей архитектурой для меня, и любые «правила» или лучшие практики, которые я вижу, все еще вписываются в этот стиль кодирования, особенно в Принцип единой ответственности …

1
Организация кода нескольких приложений Zend
В течение прошлого года я работал над серией приложений, основанных на платформе Zend и сосредоточенных на сложной бизнес-логике, к которой все приложения должны иметь доступ, даже если они не используют все (проще, чем иметь несколько папок библиотеки для каждой приложение, поскольку они все связаны вместе с общим центром). Не вдаваясь …

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