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

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

18
Насколько важно быть синтаксически правильным во время интервью? [закрыто]
Когда вы просите кандидата на собеседование написать программу на доске, ожидаете ли вы, что кандидат напишет код, синтаксически правильный? У меня было два кандидата, один из которых написал синтаксически правильную программу, но логика была не на высоте, а у другого логика была лучше написана, но синтаксис был дерьмовым. Я поддерживаю …
40 interview 

9
Почему я должен объявлять класс как абстрактный класс?
Я знаю синтаксис, правила, применяемые к абстрактному классу, и я хочу знать использование абстрактного класса Абстрактный класс не может быть создан напрямую, но может быть расширен другим классом В чем преимущество этого? Чем он отличается от интерфейса? Я знаю, что один класс может реализовывать несколько интерфейсов, но может расширять только …

16
Как убедить товарища по команде, который видит себя старшим, изучить концептуальные основы SVN? [закрыто]
Чтобы начать с некоторой предыстории, этим летом я занял новую должность разработчика и стал самым новым членом команды, но с большим опытом работы. До сих пор мне удавалось достаточно легко продвигать инициативы в области здравомыслия из-за низких затрат на усыновление (с точки зрения времени и усилий). Однако вещи немного выровнялись. …
40 learning 

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

2
Как стать программистом ядра / систем / драйверов устройств? [закрыто]
В настоящее время я работаю в качестве инженера-программиста, работающего с ОС Android. Мы работаем над интеграцией нашей платформы в качестве нативного демона среди других аспектов проекта. Я в основном работаю в Java над разработкой приложений для SDK и Android, но помогаю с платформой на C / C ++. В любом …
40 c  linux  linux-kernel 

6
Почему избегать наследования Java «расширяет»
Джейм Гослинг сказал «Вы должны по возможности избегать наследования реализации». и вместо этого используйте наследование интерфейса. Но почему? Как мы можем избежать наследования структуры объекта, используя ключевое слово «extends», и в то же время сделать наш код «Object Oriented»? Может ли кто-нибудь привести пример «Объектно-ориентированный», иллюстрирующий эту концепцию в сценарии …

19
Вы бы купили оборудование за свои деньги, чтобы использовать его на работе, чтобы сделать свою работу лучше? [закрыто]
На работе мне дали разумно спроектированную машину (двухъядерный 2 ГГц, 4 ГБ ОЗУ, 160 ГБ, 7200 об / мин, Win7), но в некоторых местах ее не хватало (HDD / RAM). ИТ-персонал был в порядке, когда я заменял оборудование своим, поэтому теперь у меня есть SSD и дополнительные 8 ГБ ОЗУ …

11
Это плохая привычка не использовать интерфейсы? [закрыто]
Я редко использую интерфейсы и нахожу их общими в чужом коде. Также я создаю подклассы и суперклассы (создавая свои собственные классы) редко в своем коде. Это плохо? Вы бы предложили изменить этот стиль? У этого стиля есть побочные эффекты? Это потому, что я не работал над крупными проектами?

13
Работа со стандартами кодирования на работе (я не начальник)
Я работаю в небольшой команде, около 10 разработчиков. У нас вообще нет стандартов кодирования. Есть определенные вещи, которые стали нормой, но некоторые способы ведения дел совершенно разные. Мой большой - отступ. Некоторые используют вкладки, некоторые используют пробелы, другие используют другое количество пробелов, что создает огромную проблему. Я часто сталкиваюсь с …

7
Это плохая практика иметь интерфейс для определения констант?
Я пишу набор тестовых классов junit на Java. Есть несколько констант, например, строки, которые мне понадобятся в разных тестовых классах. Я думаю об интерфейсе, который определяет их, и каждый тестовый класс будет реализовывать его. Я вижу здесь следующие преимущества: легкий доступ к константам: MY_CONSTANTвместоThatClass.MY_CONSTANT каждая константа определена только один раз …

8
Законное использование папки Windows «Документы» в программах
Любой, кому нравится, чтобы их папка «Документы» содержала только то, что они там размещают, знает, что стандартная папка «Документы» совершенно не подходит для этой задачи. Кажется, что каждая программа хочет поместить свои настройки, данные или что-то одинаково не относящееся к папке « Документы », несмотря на то, что есть папки …

6
Являются ли агрегаты DDD действительно хорошей идеей в веб-приложении?
Я углубляюсь в Domain Driven Design, и некоторые концепции, с которыми я сталкиваюсь, имеют большой смысл на поверхности, но когда я думаю о них больше, я должен задаться вопросом, действительно ли это хорошая идея. Например, концепция Агрегатов имеет смысл. Вы создаете небольшие домены собственности, чтобы вам не приходилось иметь дело …


16
Почему объявления о работе всегда ищут «рок-звезд»? [Закрыто]
Я заметил недавнюю тенденцию в запросе программистов, которые являются рок-звездами . Я понимаю, они ищут кого-то, кто действительно хорош в том, что они делают. Но зачем (молиться) упоминать рок-звезду? Эти компании действительно хотят, чтобы эти черты были настоящей рок-звездой? Веселитесь всю ночь и просыпаетесь, чтобы позаботиться о быстром деле утром …

7
Haskell и Lisp против Haskell или Lisp [закрыто]
В настоящее время я пишу код на C, C ++ и Python. Я хочу выбрать функциональный язык программирования, и сейчас я склоняюсь к Хаскеллу. Я НЕ хочу начинать здесь войну "Haskell vs Lisp"; что я хочу знать, так это: если я изучу Haskell, прежде всего, для ознакомления с функциональным программированием, …

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