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

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

11
Почему main () должно быть коротким?
Я занимаюсь программированием более 9 лет, и по совету моего первого учителя программирования я всегда держу свою main()функцию чрезвычайно короткой. Сначала я понятия не имел, почему. Я просто повиновался, не понимая, к радости моих профессоров. Получив опыт, я понял, что если я правильно спроектировал свой код, то если бы у …

9
Оценка затрат времени в устаревшей кодовой базе
Недавно я начал работать над проектом, в котором очень старое монолитное приложение переносится в архитектуру на основе микросервисов. Устаревшая кодовая база очень грязная («спагетти-код»), и часто, по-видимому, простая функция (например, названная «multiplyValueByTen») позже показывает себя как «тысячи строк кода проверки, включающего 10 таблиц в 3 различных схемах». Теперь мой босс …

5
Сможет ли UTF-8 поддерживать включение огромного инопланетного языка с миллионами новых персонажей?
Если произошло инопланетное вторжение, и мы были вынуждены поддерживать их языки во всех наших существующих компьютерных системах, разработан ли UTF-8 таким образом, чтобы учесть их возможно огромное количество символов? (Конечно, мы не знаем, есть ли у инопланетян языки на самом деле, говорят ли они или как они общаются, но ради …
86 unicode  utf-8 

11
Помогут ли модульные тесты Citigroup избежать этой дорогой ошибки?
Я читал об этом snafu: ошибка программирования стоит Citigroup $ 7 млн ​​после того, как допустимые транзакции ошибочно принимались за тестовые данные в течение 15 лет . Когда система была представлена ​​в середине 1990-х годов, программный код отфильтровывал все транзакции, которым были присвоены трехзначные коды ветвей от 089 до 100, …

10
Почему Алан Кей сказал: «Интернет был так хорошо сделан, но сеть была сделана любителями»?
ОК, так что я перефразировал. Полная цитата: Интернет был создан настолько хорошо, что большинство людей считают его природным ресурсом, подобным Тихому океану, а не тем, что создано человеком. Когда в последний раз технология с такими масштабами была настолько безошибочной? Сеть, по сравнению с ней, - это шутка. Сеть была сделана …

5
за против foreach против LINQ
Когда я пишу код в Visual Studio, ReSharper (да благословит его Бог!) Часто предлагает мне сменить цикл старой школы for на более компактную форму foreach. И часто, когда я принимаю это изменение, ReSharper делает шаг вперед и предлагает мне изменить его снова, в блестящей форме LINQ. Итак, мне интересно: есть …
86 c#  linq 

10
Почему внезапное увеличение числа отправителей Git на графике попконов Debian в 2010-01 году?
Почти в каждой статье, которую я прочитал 1, сравнивая Git и Mercurial, кажется, что у Mercurial лучшая UX командной строки, где каждая команда ограничена только одной идеей (в отличие от, скажем git checkout). Но в какой-то момент Git неожиданно стал очень популярным, и число отправителей Git на графике попконов Debian …
86 git  history  mercurial 

6
Преимущества использования чистого JavaScript над JQuery
Каковы преимущества использования Javascript-only по сравнению с JQuery-only? У меня ограниченный опыт работы с JavaScript и JQuery. Я добавил биты и фрагменты каждого из них на HTML-страницы, но я в основном кодировал серверные вещи на других языках. Я заметил, что хотя теоретически вы можете делать одно и то же, используя …

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

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

21
Как бы вы отреагировали, если бы кто-то сказал вам, что ваш код - беспорядок?
Я хороший программист, или я так думал раньше. Я всегда люблю программировать. И я хочу узнать много нового о программировании, чтобы сделать меня лучшим программистом. Я изучал программирование в течение 1 года, а сейчас я работаю программистом почти 2 года. Короче говоря, у меня почти 3 года опыта программирования. Наша …

7
Какова история того, почему байты восемь бит?
Что, где действуют исторические силы, какие компромиссы нужно сделать, решая использовать группы из восьми бит в качестве фундаментальной единицы? Когда-то были машины, использующие слова других размеров, но сегодня, не считая восьмибитности, вы должны обратить внимание на музейные экспонаты, специализированные чипы для встроенных приложений и DSP. Как байт эволюционировал из хаоса …
86 history  hardware  byte  bit 

17
Имеют ли смысл комментарии TODO? [закрыто]
Я работаю над довольно большим проектом и получил задание сделать несколько переводов для него. Было множество этикеток, которые не были переведены, и пока я копался в коде, я нашел этот маленький кусочек кода //TODO translations Это заставило меня задуматься над смыслом этих комментариев для себя (и других?), Потому что у …

5
Флаги предупреждения Clang для разработки Objective-C
Как программист C & Objective-C, я немного параноик с флагами предупреждения компилятора. Я обычно пытаюсь найти полный список флагов предупреждений для используемого мной компилятора и включать большинство из них, если только у меня нет веской причины не включать его. Лично я считаю, что это может улучшить навыки кодирования, а также …

6
В чем разница между государством и лицом без гражданства?
Книги и документация по MVC просто нагромождают использование терминов без учета состояния и состояния. Честно говоря, я просто не могу понять, о чем говорят книги. Они не приводят пример, чтобы понять какое-либо из этих состояний, вместо того, чтобы просто сказать, что HTTP не имеет состояния и с ASP.NET MVC Microsoft …

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