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

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

12
Почему важно, что HTML и CSS не являются языками программирования?
Пример здесь: Какие языки мне следует знать, если я заинтересован в создании веб-приложений? Да, я понимаю, что HTML и CSS не являются тьюрингово-полными. Да, я понимаю, что это декларативные, а не императивные языки. Но почему люди всегда бьют по голове этим педантичным (и, возможно, очевидным) фактом, когда они задают вопрос …
158 terminology 

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

13
Если у моей команды низкий уровень квалификации, должен ли я снизить уровень своего кода? [закрыто]
Например, в JS есть общий фрагмент кода для получения значения по умолчанию: function f(x) { x = x || 'default_value'; } Этот фрагмент кода не так легко понять всем членам моей команды, так как их уровень JS низкий. Разве я не должен использовать этот трюк тогда? Это делает код менее …

10
Хак компилятора Кена Томпсона все еще является угрозой?
Кен Томпсон Хак (1984) Кен Томпсон описал метод повреждения двоичного файла компилятора (и другого скомпилированного программного обеспечения, такого как сценарий входа в систему * nix) в 1984 году. Мне было любопытно узнать, устраняет ли современная компиляция этот недостаток безопасности или нет. Краткое описание: Переписать код компилятора, чтобы он содержал 2 …
156 linux  unix  compiler  hacking 

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

30
Мой начальник хочет построчно изложить английское объяснение нашего кода
Меня специально попросили давать построчное (или, в зависимости от случая, например, изображение за изображением и т. Д.) Объяснение или комментарий, которые мой начальник хочет прочитать и соблюдать. Поскольку он не программист, он не может следовать коду, поэтому хочет, чтобы все было переведено на английский язык. Кто-нибудь просил сделать это раньше? …

5
Схема против Common Lisp: Какие характеристики повлияли на ваш проект? [закрыто]
В StackOverflow и на этом сайте нет недостатка в расплывчатых вопросах "Scheme vs Common Lisp", поэтому я хочу сделать этот вопрос более сфокусированным. Вопрос для людей, которые закодировали на обоих языках: Во время написания кода на Схеме, какие конкретные элементы вашего опыта в Common Lisp вам больше всего не хватало? …
155 lisp  scheme 

9
Что такое закрытие?
Время от времени я вижу упомянутое «замыкание», и я пытался найти его, но Вики не дает объяснения, которое я понимаю. Может ли кто-нибудь помочь мне здесь?

11
Используется ли моя работа над тестом для разработчиков? [закрыто]
Я ищу работу и подал заявку на ряд вакансий. Один работодатель ответил. У меня было довольно длинное телефонное интервью (возможно, час +), и они тогда устроили мне тест разработчика. Мне сказали, что, по оценкам, тестирование займет от 6 до 8 часов и что, если результаты встретятся с их одобрением, мне …
154 interview 

15
В чем преимущество карри?
Я только что узнал о карри, и хотя я думаю, что понимаю концепцию, я не вижу большого преимущества в ее использовании. В качестве тривиального примера я использую функцию, которая добавляет два значения (написано в ML). Версия без карри будет fun add(x, y) = x + y и будет называться add(3, …

13
Это только я, или это вопрос технического интервью? [закрыто]
Фон Меня просто попросили в техническом интервью написать алгоритм для прохождения «объекта» (обратите внимание на кавычки), где A равно B, а B равно C, а A равно C. Вот и все. Это вся информация, которую мне дали. Я спросил интервьюера, какова была цель, но, видимо, ее не было, просто «пересек» …

11
Как я могу найти хороший проект с открытым исходным кодом, чтобы присоединиться? [закрыто]
Я только начал работать год назад, и я хочу присоединиться к проекту с открытым исходным кодом по тем же причинам, что и все остальные: помогать создавать что-то полезное и развивать свои навыки дальше. Моя проблема в том, что я не знаю, как найти проект, в который я буду вписываться. Как …

30
Необычно ли для небольшой компании (15 разработчиков) не использовать управляемый источник / контроль версий? [закрыто]
Это на самом деле не технический вопрос, но здесь есть несколько других вопросов, касающихся контроля источников и наилучшей практики. Компания, в которой я работаю (которая останется анонимной), использует сетевой ресурс для размещения своего исходного кода и выпущенного кода. Разработчик или менеджер несут ответственность за ручное перемещение исходного кода в нужную …

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

7
Был ли язык программирования C считаться языком низкого уровня, когда он вышел?
В настоящее время C считается языком низкого уровня , но еще в 70-х он считался языком низкого уровня? Был ли термин даже в употреблении тогда? Многие популярные языки более высокого уровня не существовали до середины 80-х и далее, поэтому мне интересно, изменилась ли природа низкого уровня за эти годы.

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