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

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

2
Почему линкер Unix называется «ld»
Попытка поиска в Интернете и не смог найти ответ. Возможно, это как-то связано с «нагрузкой», но для меня это не имеет особого смысла. Очевидно, что «ln» уже было взято, но откуда это «d»?
29 history 

10
Разве использование переменных-указателей не накладные расходы памяти?
В таких языках, как C и C ++, при использовании указателей на переменные нам требуется еще одно место в памяти для хранения этого адреса. Так разве это не накладные расходы памяти? Как это компенсируется? Используются ли указатели в приложениях с нехваткой памяти, критичных ко времени?
29 c++  c  pointers 

3
Почему логический тип в C ++ поддерживает ++, а не -?
Почему оператор --не существует для bool, а для оператора ++? Я пробовал в C ++, и я не знаю, относится ли мой вопрос к другому языку. Я буду рад узнать также. Я знаю , я могу использовать оператор ++с бул. Это делает любое bool равным истине. bool b = false; …

3
Есть ли реальное преимущество для динамических языков? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Прежде всего я хочу сказать, что Java - единственный язык, который я когда-либо использовал, …

10
Является ли шаблон «метапрограммирование» в Java хорошей идеей?
В довольно большом проекте есть исходный файл с несколькими функциями, которые чрезвычайно чувствительны к производительности (вызывается миллионы раз в секунду). Фактически, предыдущий сопровождающий решил написать 12 копий функции, каждая из которых отличается незначительно, чтобы сэкономить время, затрачиваемое на проверку условий в одной функции. К сожалению, это означает, что код является …

10
Должен ли временный код находиться под контролем версий и как?
Вот несколько примеров временного / локального кода. Это необходимо для работы с кодовой базой, но было бы вредно быть ее частью: Файлы проекта. Пути, возможно, должны быть отредактированы, чтобы отразить расположение на текущем ПК. Makefiles. Например, оптимизация может потребоваться отключить во время отладки, но не для CI-сервера. Грязные уродливые хаки. …

7
Можно ли использовать исключения в качестве инструментов для раннего выявления ошибок?
Я использую исключения, чтобы поймать проблемы рано. Например: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } Моя программа никогда не должна переходить nullв эту функцию. Я никогда не …

5
Тесная связь между Javascript, HTML и CSS: более современный подход?
Очень часто Javascript привязывают к определенным селекторам, чтобы находить элементы, хранить данные и прослушивать события. Также распространено видеть те же самые селекторы, используемые для стиля. jQuery (и его механизм выбора Sizzle) поддерживают и продвигают это, ссылаясь на элементы с синтаксисом CSS-типа. Таким образом, эту технику особенно трудно «отучить» (или изменить) …
29 javascript  html  css  jquery 

5
Руководство по стилю для C ++ [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . Прямо сейчас я использую руководство по стилю Google C ++ в своем коде C ++, и мне …

2
Какие из этих старых критических замечаний о распространенном шуте все еще применяются сегодня?
В «Критике общего лиспа», написанной Родни А. Бруксом и Ричардом П. Габриэлем из Стэнфорда в 1984 году, обсуждаются некоторые конструктивные решения, оставленные комитетом по нормализации общего лиспа. Хотя большая часть обсуждения остается в силе, есть два утверждения, которые относятся к технологии, доступной в то время, и могут быть ложными сегодня. …

1
Инглиш парсер (для Хоббита 1982)
С увлечением прочитал о текстовой приключенческой игре The Hobbit, в которой был представлен невероятно мощный парсер под названием «Inglish»: ... Инглиш позволял набирать сложные предложения, такие как "спроси Гэндальфа о любопытной карте, затем возьми меч и убей тролля с ним". Парсер был сложным и интуитивно понятным, вводя местоимения, наречия («злобно …

3
Как реализовать очередь сообщений через Redis?
Почему Redis для очередей? У меня сложилось впечатление, что Redis может стать хорошим кандидатом для внедрения системы массового обслуживания. До этого момента мы использовали нашу базу данных MySQL с опросом или RabbitMQ. С RabbitMQ у нас было много проблем - клиентские библиотеки очень плохие и глючные, и мы хотели бы …

15
Во времена современных вычислений, в «типичных бизнес-приложениях» - почему важна производительность? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Это может показаться странным вопросом для некоторых из вас. Я хобби-программист на …

1
Как написать «СМАРТ» Цели как проворный разработчик?
Как и многие корпорации, компания, в которой я работаю, переходит на систему оценки эффективности, основанную на целях SMART . Моя команда - это высокопроизводительная команда гибких разработчиков, использующая практики экстремального программирования . К нашему огромному преимуществу наша практика гибкой практики имеет полную поддержку непосредственного и высшего руководства. Для выполнения работы …

2
Почему Java использует UTF-16 для внутреннего представления строк?
Я бы предположил, что причина была быстрой: массив похож на доступ к символу по индексу, но некоторые символы не помещаются в 16 бит, поэтому он не будет работать ... Так что если вам все равно приходится работать с особыми случаями, почему бы просто не использовать UTF-8?
29 java  strings  unicode 

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