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

55
В чем разница между рекурсией и corecursion?

Какая разница между ними? Рекурсия корекурсия В Википедии мало информации и нет четкого кода, объясняющего эти термины. Каковы некоторые очень простые примеры, объясняющие эти термины? Как corecursion двойственна рекурсии? Существуют ли классические corecusive...

55
Зачем заниматься разметкой правильно и семантически?

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

55
Должны ли младшие программисты участвовать в качестве рецензентов кода в проектах старших программистов?

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

55
Является ли цикл обработки событий циклом for / while с оптимизированным опросом?

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

55
Что означает «пользователь не должен решать, является ли он администратором или нет. Привилегии или Система безопасности должны ».

В примере, использованном в этом вопросе, передается минимальное количество данных для функции, которая помогает определить, является ли пользователь администратором или нет. Один общий ответ был: user.isAdmin() Это побудило комментарий, который был повторен несколько раз и проголосовал много раз:...

55
Согласование правил бойскаутов и оппортунистического рефакторинга с обзорами кода

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

55
Что означает «контекстно-свободный» в термине «контекстно-свободная грамматика»?

Учитывая количество материала, который пытается объяснить, что такое не зависящая от контекста грамматика (CFG), я нахожу удивительным, что очень немногие (в моем примере менее 1 из 20) дают объяснение тому, почему такие грамматики называются «context- свободно". И, на мой взгляд, никому не удается...

55
Должен ли получатель генерировать исключение, если его объект имеет недопустимое состояние?

Я часто сталкиваюсь с этой проблемой, особенно в Java, даже если я думаю, что это общая проблема ООП. То есть: поднятие исключения выявляет проблему дизайна. Предположим, что у меня есть класс, который имеет String nameполе и String surnameполе. Затем он использует эти поля, чтобы составить полное...

55
Зачем программе требуется определенное минимальное количество ядер ЦП?

Можно ли написать код (или законченное программное обеспечение, а не кусок кода), который не будет работать должным образом при запуске на процессоре с числом ядер менее N? Без явной проверки и намеренного сбоя: ЕСЛИ (noOfCores <4) ТОГДА не работают должным образом специально Я смотрю на...

55
Как написать модульные тесты перед рефакторингом?

Я прочитал некоторые ответы на вопросы в том же ключе, например, «Как вы поддерживаете свои юнит-тесты при рефакторинге?». В моем случае сценарий немного отличается тем, что мне дали проект для проверки и приведения в соответствие с некоторыми нашими стандартами, в настоящее время тестов для...

55
Почему использование MySQL для словарного сайта - плохая идея?

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

55
В каких случаях меньше кода, а не лучше? [закрыто]

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

55
Как называется хранение / упаковка множества логических состояний в одно число?

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

54
Почему такая популярность у Python? [закрыто]

Кроме того, что я раздражен пробелами как синтаксис, я не ненавистник, я просто не в восторге от Python. Я ценю поэзию Perl и программирую красивые веб-сервисы на bash & korn и shebang gnuplot. Я пишу документы troffи не возражаю против REXX. Не нашел tcl более полезного несколько лет назад, но...

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

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

54
Вы действительно пишете «чистый код»? [закрыто]

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

54
Почему некоторые программисты ненавидят часть разработки пользовательского интерфейса? [закрыто]

Многие программисты, которых я встречал, всегда говорят, что «он не парень с интерфейсом». Дело в том, что в настоящее время разработка, будь то веб, Windows, Linux, OSX или любой другой тип разработки, теперь включает в себя программное обеспечение с красивым пользовательским интерфейсом. Почему...

54
Как работает одна сеть на программных конференциях? [закрыто]

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

54
Как бы вы оценили профиль программиста на Github? [закрыто]

Многие люди в сообществе open source говорят, что они сильно учитывают профиль кандидата на Github при приеме на работу. Я активен на Github, с несколькими собственными проектами и некоторыми вкладами в другие. Но, глядя на свой профиль, как если бы я был работодателем, я вижу много шума: проекты,...

54
Какая часть вашего проекта должна быть в контроле исходного кода?

Один из разработчиков начал работу над новым проектом Drupal, и системный администратор предложил, чтобы они только помещали подкаталог sites / default в систему управления версиями, потому что это «сделает обновления легко создаваемыми по сценарию». Оставляя в стороне это сомнительное утверждение,...