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

50
Почему процессору Itanium было сложно написать компилятор?

Обычно утверждается, что архитектура 64-разрядных процессоров Intel Itanium не удалась, потому что для революционного набора команд EPIC было очень сложно написать хороший компилятор, что означало отсутствие хороших инструментов разработчика для IA64, что означало отсутствие разработчиков,...

50
Почти каждая обнаруженная ошибка является ошибкой высокого приоритета [закрыто]

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

50
Что такое система типов?

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

50
Это хорошая идея для вызова команд оболочки из C?

Есть команда оболочки unix ( udevadm info -q path -n /dev/ttyUSB2), которую я хочу вызвать из программы на Си. Возможно, с неделей борьбы, я мог бы реализовать ее сам, но я не хочу этого делать. Является ли для меня общепринятой практикой просто звонить popen("my_command", "r");или это вызовет...

50
Управление и организация массово увеличенного количества классов после перехода на SOLID?

За последние несколько лет мы постепенно переходили на все более и более качественно написанный код, по несколько шагов за раз. Мы наконец начинаем переключаться на что-то, что, по крайней мере, напоминает SOLID, но мы еще не совсем там. После внесения изменений одна из самых больших претензий...

50
Почему C ++ имеет «неопределенное поведение» (UB), а другие языки, такие как C # или Java, не имеют?

В этом посте с переполнением стека приведен довольно полный список ситуаций, в которых спецификация языка C / C ++ объявляется как «неопределенное поведение». Однако я хочу понять, почему в других современных языках, таких как C # или Java, нет понятия «неопределенное поведение». Означает ли это,...

49
Почему /// блоки комментариев важны?

Кто-то однажды сказал, что мы должны поставить перед всеми нашими методами /// <summary>блоки комментариев (C #), но не объяснил, почему. Я начал их использовать и обнаружил, что они меня немного раздражают, поэтому перестал их использовать, за исключением библиотек и статических методов. Они...

49
Обслуживание фоновых задач на большом сайте

Мы имеем дело с интересной проблемой в StackOverflow. У нас есть целая куча маленьких «дел, которые нужно сделать в ближайшее время». Примером является обновление списков «Связанные вопросы». То, что мы делали в прошлом, - это перенести эти задачи на страницы некоторых пользователей. Это никогда не...

49
Разве «если (0 == значение)…» не приносит больше вреда, чем пользы? [закрыто]

Это одна из вещей, которые я больше всего ненавижу, когда вижу в чужом коде. Я знаю, что это значит и почему некоторые люди делают это таким образом («что, если я случайно вместо этого поставлю« = »?»). Для меня это очень похоже на то, когда ребенок спускается по лестнице, считая шаги вслух. Во...

49
Что не так с дженериками Java? [закрыто]

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

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

Мы все были там: Ваш проект провалился или был отменен. Код, над которым вы потратили несколько дней, был отклонен вашей командой. Шаблон дизайна, который вы представили команде, создал хаос. Все игнорируют ваши идеи. Мой вопрос заключается в том, как программисту наиболее эффективно обрабатывать...

49
Можем ли мы использовать Java для коммерческого использования?

Java является лицензией GPL (ссылка из Википедии). Я не уверен, что смогу использовать его в коммерческих проектах. У меня уже есть веб-сайт, написанный на Java, и я планирую использовать его для коммерческого использования. Это...

49
Как менеджеры узнают, хороший человек или плохой программист?

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

49
Когда целесообразно создавать свой собственный язык программирования?

Существуют ли типы приложений-убийц, классы алгоритмических задач и т. Д., Где в конечном итоге лучше создать свой собственный язык? PS: Просто чтобы быть уверенным, я имею в виду новый язык программирования и компилятор, а не новый компилятор для существующего языка. РЕДАКТИРОВАТЬ : Спасибо за...

49
if ('constant' == $ variable) против if ($ variable == 'constant')

В последнее время я много работал над PHP и, в частности, в рамках WordPress. Я замечаю много кода в виде: if ( 1 == $options['postlink'] ) Где бы я ожидал увидеть: if ( $options['postlink'] == 1 ) Это соглашение встречается в определенных языках / структурах? Есть ли какая-либо причина, по которой...

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

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

49
Есть ли проблемы с использованием Reflection?

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

49
Как мне справиться с рефакторингом, который занимает больше времени, чем один спринт?

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

49
Правовые вопросы с NDA, которые я не хочу подписывать [закрыто]

Мне было дано соглашение о неразглашении (NDA) для подписания моим нынешним работодателем, которое я не хочу подписывать. Это невероятно открытый конец, и я чувствую, что это должно было быть условием моего первоначального трудового соглашения, которое я подписал три недели назад. Документ содержит...

49
Законно ли воссоздать / с открытым исходным кодом программу, которую вы ранее закодировали для другой компании

На моей предыдущей работе я создал общую панель управления для автоматизации задач, которая оказалась весьма полезной - и, конечно, мой предыдущий работодатель владеет всем кодом, который я написал, пока работал там. Теперь, когда меня больше нет, законно ли мне воссоздавать эту панель из памяти и...