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

54
В чем разница между функцией и лямбда?

Я немного запутался по поводу «функции» и «лямбды». Я видел несколько примеров, показывающих, что ключевое слово схема lambdaработает очень похоже на ключевое слово JavaScript function, но я действительно не знаю, как они связаны. Мне сказали, что «функция» и «метод» могут использоваться...

54
Как поправить младшего, но побудить его думать самостоятельно? [закрыто]

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

54
Как бороться с тавтологией в комментариях? [закрыто]

Иногда я нахожусь в ситуациях, когда часть кода, которую я пишу, является (или кажется ) настолько очевидной, что ее имя будет в основном повторяться в виде комментария: class Example { /// <summary> /// The location of the update. /// </summary> public Uri UpdateLocation { get; set; };...

54
Каковы принципы проектирования, которые продвигают тестируемый код? (разработка тестируемого кода против проектирования вождения с помощью тестов)

Большинство проектов, над которыми я работаю, рассматривают разработку и модульное тестирование изолированно, что делает написание модульных тестов на более позднем этапе кошмаром. Моя цель - помнить о тестировании на этапах проектирования высокого и низкого уровня. Я хочу знать, есть ли какие-либо...

54
Почему статический метод main в Java и C #, а не конструктор?

Я ищу точный ответ из первичного или вторичного источника, почему (в частности) Java и C # решили использовать статический метод в качестве своей точки входа, а не представлять экземпляр приложения экземпляром Applicationкласса (с точкой входа быть подходящим конструктором). Предпосылки и детали...

54
Visual Studio 2012 - экспресс против профессионала [закрыто]

У меня проблемы с поиском сравнения функций между Visual Studio 2012 Express Edition и профессиональной версией. В настоящее время я использую пробную версию Professional, но она скоро закончится, поэтому мне нужно принять решение о покупке полной версии. Очевидно, что сначала я могу попробовать...

54
«Хороший программист может быть в 10 раз продуктивнее посредственного» [закрыто]

Я читал интервью с великим программистом (оно не на английском языке), и в нем он сказал, что «великий программист может быть в 10 раз лучше среднего», объясняя, почему хорошим программистам платят очень хорошо и почему программирующие компании предоставляют много возможностей для своих...

54
Хранение переупорядочиваемого списка в базе данных

Я работаю над системой списков желаний, где пользователи могут добавлять элементы в свои списки желаний, и я планирую разрешить пользователям в дальнейшем изменять их порядок. Я не совсем уверен, как лучше сохранить это в базе данных, оставаясь быстрым и не превращаясь в беспорядок (это приложение...

54
Тестирование многопоточных условий гонки

Читая комментарии к этому ответу , а именно: Тот факт, что вы не можете написать тест, не означает, что он не сломан. Неопределенное поведение, которое обычно работает должным образом (C и C ++ полны этого), условия гонки, потенциальное переупорядочение из-за слабой модели памяти ... - CodesInChaos...

54
Когда использовать примитив против класса в Java?

Я вижу, что Java имеет логическое (класс) против логического (примитив). Аналогично, есть Integer (класс) против int (примитив). Как лучше всего использовать примитивную версию против класса? Должен ли я в основном всегда использовать версию класса, если у меня нет конкретной причины...

54
Архитектура MVC - сколько контроллеров мне нужно?

Я давно программирую, но в основном это скрипты и простые приложения. Я перешел к новой роли, где все сводится к разработке веб-приложений и использованию правильной архитектуры MVC, поэтому я отчаянно пытаюсь узнать обо всем этом очень быстро. Я надеюсь, что этот вопрос не слишком похож на «...

54
Написание моего подхода к решению проблем на бумаге? [закрыто]

Я новичок в области компьютерных наук, и мы только начали делать реальные проекты на Python. Я обнаружил, что я очень эффективен, когда использую метод ручки и бумаги, который мой профессор предложил в классе. Но когда я не могу записать свою проблему и разработать свои алгоритмы на бумаге, я очень...

54
Как миксины или признаки лучше, чем обычное множественное наследование?

C ++ имеет простое множественное наследование, многие языковые схемы запрещают его как опасное. Но некоторые языки, такие как Ruby и PHP, используют странный синтаксис, чтобы делать то же самое и называть это миксинами или чертами. Я много раз слышал, что миксином / признаками сложнее...

54
Делать небольшие изменения, проверять их, затем «полоскать и повторять» - вредная привычка?

Я программист с многолетним опытом. Я понял, что приобрел определенную привычку. Я не уверен, действительно ли это плохая привычка или нет. Я получаю список задач для выполнения, даже небольших небольших задач, например, Изменить ресурсы этого пользовательского элемента управления Изменить размер...

54
Хорошо ли, что тестеры соревнуются, чтобы увидеть, кто открывает больше ошибок?

Я разработчик программного обеспечения. Есть команда тестировщиков, которые следят за тестовыми примерами, написанными аналитиком, и проводят их, а также проводят предварительное тестирование. Похоже, что тестеры боролись за то, чтобы узнать, кто открывает больше ошибок, и я заметил, что качество...

54
Должен ли я использовать коды состояния HTTP для описания событий уровня приложения

Несколько серверов, с которыми я имел дело, будут возвращать HTTP 200 для запросов, которые клиент должен рассматривать как сбой, с чем-то вроде «success: false» в теле. Это не похоже на правильную реализацию HTTP-кодов, особенно в случаях неудачной аутентификации. Я прочитал коды ошибок HTTP...

54
Почему ключевое слово 'final' будет полезным?

Кажется, что Java обладает способностью объявлять классы, которые не могут быть извлечены целую вечность, и теперь C ++ имеет это тоже. Однако, в свете принципа открытия / закрытия в SOLID, почему это было бы полезно? Для меня finalключевое слово звучит так же, как friendэто - это законно, но если...

54
Функция случайно делает недействительным ссылочный параметр - что пошло не так?

Сегодня мы узнали причину неприятной ошибки, которая периодически возникала только на определенных платформах. Сложив наш код выглядел так: class Foo { map<string,string> m; void A(const string& key) { m.erase(key); cout << "Erased: " << key; // oops } void B() { while...

54
Термин (или «шаблон»?) Для «Сделай что-нибудь, если это еще не сделано» [закрыто]

Звучит довольно просто, я знаю, но недавно мой коллега сказал мне, что вызываемый метод startHttpServerслишком сложен для понимания, потому что он запускает сервер, только если он еще не запущен. Я обнаруживаю, что попадаю в неприятности, когда отвечаю: «Серьезно? Я занимаюсь этим десятилетиями -...

54
Известны ли действительные способы использования SLOC для измерения производительности?

У меня был необычный, краткий разговор с очень старшим архитектором о динамических и статических языках. Он сказал, что данные компании показывают, что есть свидетельства повышения производительности при использовании статических языков. Обратите внимание, это большая компания с большой историей. К...