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

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

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

17
Является ли «Computer Science! = Software Engineering» поводом для плохого обучения программированию?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Мы все это слышали; всякий раз, когда говорят о том, что выпускники CS имеют плохие навыки разработки, кто-то в конце концов говорит: …

8
Как мне справиться с менеджером, который всегда вмешивается в то, что я делаю, но на самом деле не понимает этого?
У всех нас были они, менеджеры, которые либо пришли с продаж, либо в последний раз смотрели код 10 или более лет назад, но думают, что знают, как писать код. Что я могу сделать, чтобы создать впечатление, что я благодарен за его вмешательство, но сделать его как можно короче, чтобы я …

17
Стоит ли изучать COBOL? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
23 learning  cobol 

16
Кто занимается тест-ориентированной разработкой?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я работал в корпоративном пространстве в течение последних 4 с половиной лет и заметил, что, вообще говоря, предприятия не являются благоприятной средой …

14
Как менеджеры выбирают языки программирования
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 8 лет назад . Ни для кого не секрет, что менеджеры могут и часто навязывают язык программирования, который будет использоваться для проекта. Будучи самим программистом, я никогда не мог этого понять. …

16
Это нормально, если я не знаю C, но у меня все хорошо с C ++? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
23 c++  c 

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

7
Какой алгоритм вы бы лучше всего использовали для сходства строк?
Я разрабатываю плагин для уникальной идентификации контента на различных веб-страницах по адресам. Поэтому у меня может быть один адрес, который выглядит так: 1 someawesome street, anytown, F100 211 позже я могу найти этот адрес в немного другом формате. 1 someawesome street, F100 211, или, возможно, столь же неопределенно, как someawesome …

1
Почему в документации на некоторых языках написано «эквивалентно», а не «есть»?
Почему в документации на некоторых языках написано «эквивалентно», а не «есть»? Например, документы Python говорят itertools.chain(*iterables) ... Эквивалентно : def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element Или эта ссылка на C ++find_if : Поведение этого …

3
Стоит ли избегать использования unsigned int в C #?
Недавно я подумал об использовании целых чисел без знака в C # (и я думаю, что аналогичный аргумент можно сказать о других "языках высокого уровня") Когда я нуждаюсь в целом числе, я обычно не сталкиваюсь с дилеммой размера целого числа, примером может служить свойство age класса Person (но вопрос не …

5
Почему инструменты сборки используют язык сценариев, отличный от основного языка программирования?
Недавно я использовал некоторые инструменты сборки для проекта Nodejs на работе, когда понял, что основной инструмент / система сборки большинства языков использует язык, отличный от основного языка программирования. Например, make не использует C или C ++ для написания сценариев, а ant (ни Maven) не использует Java в качестве языка для …

2
Когда использовать def в Groovy?
Я уже некоторое время занимаюсь разработкой в ​​Groovy, и мне интересно, как часто мне следует использовать динамическое приведение def? Мой коллега считает, что мы должны использовать его всегда, так как это помогает Groovy каким-то образом, я не понимаю. В настоящее время, когда я объявляю методы, возвращающие типы и аргументы, мне …

1
Является ли хорошей практикой вызывать функцию контроллера из другого контроллера?
У меня есть случай, когда я обрабатываю логику поиска в одном контроллере, и я генерирую некоторые данные на основе поисков и возвращаю их в виде статистики. Рекомендуется ли вызывать функцию контроллера из другого контроллера? Или два контроллера никогда не должны разговаривать?
23 mvc 

2
Общий способ преобразования цикла (while / for) в рекурсию или из рекурсии в цикл?
Эта проблема в основном сосредоточена на алгоритме, может быть, что-то абстрактное и более академическое. Пример предлагает мысль, я хочу общий способ, поэтому пример используется только для того, чтобы сделать нас более ясно о ваших мыслях. Вообще говоря, цикл может быть преобразован в рекурсивный. например: for(int i=1;i<=100;++i){sum+=i;} И связанный с ним …

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