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

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

7
Нужно ли включать лицензионное уведомление с каждым исходным файлом?
Я искал различные лицензии, которые я мог бы использовать для моего проекта с открытым исходным кодом, но все проекты, которые я видел, со всеми видами лицензий, похоже, имеют гигантский, противный (по моему мнению) обратите внимание, что в каждом исходном файле указано, что этот файл указан под определенной лицензией. Я не …
111 licensing 

13
Почему бы нам не сохранить синтаксическое дерево вместо исходного кода?
У нас много языков программирования. Каждый язык анализируется и синтаксис проверяется перед переводом в код, поэтому создается абстрактное синтаксическое дерево (AST). У нас есть это абстрактное синтаксическое дерево, почему бы не сохранить это синтаксическое дерево вместо исходного кода (или рядом с исходным кодом)? Используя AST вместо исходного кода. Каждый программист …

15
Какова карьера для разработчика, который не любит управление?
Если вы разработчик (старший или ведущий разработчик) и предпочитаете заниматься разработкой кода / дизайна, а не заниматься управленческой карьерой, каковы возможные пути карьерного роста в вашей компании или о каких вы слышали? Как далеко вы можете пойти? Можно ли продолжать быть выродком, пока вы не укусите пыль, или это слишком …
110 management  coding 


5
Почему люди разветвляют репозитории на GitHub? [закрыто]
Я заметил, что многие учетные записи GitHub имеют только репозитории, которые разветвляются из других учетных записей. Кроме того, люди, которые делают это, обычно не вносят какой-либо вклад в разветвленные репозитории. Я слышал о людях, собирающих марки и ракушки, но зачем кому-то собирать репозитории? Лично я бы разветвлял репозиторий, только если …

3
Преимущества структурированного ведения журнала по сравнению с базовым ведением журнала
Мы создаем новое приложение, и я хотел бы включить структурированное ведение журнала. Моя идеальная установка - что-то вроде Serilogнашего кода на C # и Bunyanнашего JS. Они подействуют, fluentdа затем могут выйти на любое количество вещей, я думал вначале elasticsearch + kibana. У нас уже есть база данных MySQL, так …
110 c#  javascript  mysql  logging 

10
Зачем использовать Optional в Java 8+ вместо традиционных проверок нулевых указателей?
Недавно мы перешли на Java 8. Теперь я вижу приложения, заполненные Optionalобъектами. До Java 8 (Стиль 1) Employee employee = employeeServive.getEmployee(); if(employee!=null){ System.out.println(employee.getId()); } После Java 8 (Стиль 2) Optional<Employee> employeeOptional = Optional.ofNullable(employeeService.getEmployee()); if(employeeOptional.isPresent()){ Employee employee = employeeOptional.get(); System.out.println(employee.getId()); } Я не вижу добавленной стоимости, Optional<Employee> employeeOptional = employeeService.getEmployee();когда сама …
110 java  java8 

14
Как я могу поддерживать качество кода без SCM?
Я работаю в государственном учреждении. Используемая здесь технология и методы разработки программного обеспечения довольно старомодны. У них есть тонны дискового пространства, но нет подходящего места для хранения и поддержки приложений, которые используются для автоматизации большей части работы здесь. Учреждение не позволит мне использовать программное обеспечение SCM, такое как GIT или …
110 git  code-quality  svn  scm 

7
Что такое интеграционный тест?
Я и мои друзья изо всех сил пытались точно определить, что такое интеграционный тест. Теперь, возвращаясь домой, я просто осознал, что каждый раз, когда я пытаюсь привести пример интеграционного теста в реальном мире, это оказывается приемным тестом, т.е. что-то, что деловой человек сказал бы вслух, в котором указано, что должна …
110 testing  agile  tdd 

13
Должны ли мы избегать языковых возможностей, которые есть у C ++, а у Java нет?
Предположим, я ограничен в использовании C ++ средой в проекте. Хорошо ли предотвращать использование некоторых языковых функций, которые есть в C ++, но нет в Java (например, множественное наследование, перегрузка операторов)? Я думаю, что причины: Поскольку Java новее, чем C ++, если Java не предоставляет возможности, которые есть в C …
110 java  c++  code-quality 

12
Обоснование предпочитать локальные переменные переменным экземпляра?
Кодовая база, над которой я работаю, часто использует переменные экземпляра для обмена данными между различными тривиальными методами. Первоначальный разработчик непреклонен, что он придерживается лучших практик, изложенных в книге « Чистый код » дядюшки Боба / Роберта Мартина: «Первое правило функций заключается в том, что они должны быть маленькими». и «Идеальное …
109 java  refactoring 


3
Форки репо на GitHub, но с новыми проблемами на форке [закрыто]
Ранее я подписывал репозитории других людей на GitHub и заметил, что проблемы остаются с исходным репо, и что я не могу подавать проблемы на разветвленном репо. Теперь у меня есть следующая задача. Я работаю в небольшом бизнесе, где развитие вел один из руководителей в его личном кабинете. Он дружно покинул …

7
Вы наняты, чтобы исправить небольшую ошибку для сайта с высоким уровнем безопасности. Глядя на код, он заполнен дырами в безопасности. Чем ты занимаешься? [закрыто]
Я был нанят кем-то, чтобы сделать небольшую работу на сайте. Это сайт для большой компании. Он содержит очень конфиденциальные данные, поэтому безопасность очень важна. Проанализировав код, я заметил, что он заполнен дырами в безопасности - читай, много PHP-файлов, бросающих пользовательский ввод get / post непосредственно в запросы mysql и системные …

9
Понимание внедрения зависимости
Я читаю о внедрении зависимости (DI). Для меня это очень сложная вещь, так как я читал, что она также ссылается на инверсию управления (IoC), и я чувствовал, что собираюсь отправиться в путешествие. Это мое понимание: вместо того, чтобы создавать модель в классе, который также потребляет ее, вы передаете (внедряете) модель …

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