Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Hardware
- Інше
- Sonar Code Quality Testing Essentials. Achieve higher levels of Software Quality with Sonar with this book and
Деталі електронної книги
Увійти, Якщо вас цікавить зміст видання.
Sonar Code Quality Testing Essentials. Achieve higher levels of Software Quality with Sonar with this book and
Charalampos S Arapidis, Charalampos S. Arapidis
Eлектронна книга
Sonar is an open source platform used by development teams to manage source code quality. Sonar has been developed with this main objective in mind: make code quality management accessible to everyone with minimal effort. As such, Sonar provides code analyzers, reporting tools, manual reviews, defect-hunting modules, and TimeMachine as core functionalities. It also comes with a plugin mechanism enabling the community to extend the functionality, making Sonar the one-stop-shop for source code quality by addressing not only the developer's requirements, but also the manager's needs.The Sonar Code Quality Testing Essentials book will help you understand the different factors that define code quality and how to improve your own or your team's code using Sonar.
You will learn to use Sonar effectively and explore the quality of your source code in the following axes:
Coding Standards
Documentation and Comments
Potential Bugs and Defects
Unit Testing Coverage
Design and Complexity
Through practical examples, you will customize Sonar components and widgets to identify areas where your source code is lacking. The book goes down to proposing good practices and common solutions that you can put to use to improve such code.You will start with installing and setting up a Sonar server and performing your first project analysis. Then you will go through the process of creating a custom and balanced quality profile exploring all Sonar components through practical examples. After reading the book, you will be able to analyze any project using Sonar and know how to read and evaluate quality metrics.Hunting potential bugs and eliminating complexity are the hottest topics regarding code quality. The book will guide you through the process of finding such problematic areas, leveraging and customizing the most appropriate components. Knowing the best tool for each task is essential. While you improve code and design through the book, you will notice that metrics go high and alerts turn green. You will use the Time Machine and the Timeline to examine how your changes affected the quality.Sonar Code Quality Testing Essentials will enable you to perform custom quality analysis on any Java project and quickly gain insight on even large code bases, as well as provide possible solutions to code defects and complexity matters.
You will learn to use Sonar effectively and explore the quality of your source code in the following axes:
Coding Standards
Documentation and Comments
Potential Bugs and Defects
Unit Testing Coverage
Design and Complexity
Through practical examples, you will customize Sonar components and widgets to identify areas where your source code is lacking. The book goes down to proposing good practices and common solutions that you can put to use to improve such code.You will start with installing and setting up a Sonar server and performing your first project analysis. Then you will go through the process of creating a custom and balanced quality profile exploring all Sonar components through practical examples. After reading the book, you will be able to analyze any project using Sonar and know how to read and evaluate quality metrics.Hunting potential bugs and eliminating complexity are the hottest topics regarding code quality. The book will guide you through the process of finding such problematic areas, leveraging and customizing the most appropriate components. Knowing the best tool for each task is essential. While you improve code and design through the book, you will notice that metrics go high and alerts turn green. You will use the Time Machine and the Timeline to examine how your changes affected the quality.Sonar Code Quality Testing Essentials will enable you to perform custom quality analysis on any Java project and quickly gain insight on even large code bases, as well as provide possible solutions to code defects and complexity matters.
- Sonar Code Quality Testing Essentials
- Table of Contents
- Sonar Code Quality Testing Essentials
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Support files, eBooks, discount offers and more
- Why Subscribe?
- Free Access for Packt account holders
- Support files, eBooks, discount offers and more
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- 1. An Overview of Sonar
- What is Sonar
- How it works
- What makes Sonar different
- Sonar in the lifecycle
- Features of Sonar
- Overview of all projects
- Coding rules
- Standard software metrics
- Unit tests
- Drill down to source code
- Time Machine
- Maven ready
- User friendly
- Unified components
- Security measures
- Extensible plugin system
- Covering software quality on Seven Axes
- How Sonar manages quality
- Architecture of Sonar
- Source code analyzers
- Squid
- Checkstyle
- PMD
- FindBugs
- Cobertura and Clover
- The Sonar community and ecosystem
- The SonarSource company
- Awards and conferences
- Sonar license
- Summary
- What is Sonar
- 2. Installing Sonar
- Prerequisites for Sonar
- Checking your Java installation
- Installing Maven on Linux
- Installing Maven on Windows
- Installing MySQL on Linux
- Installing MySQL on Windows
- Downloading Sonar
- Installing the Sonar web server
- Sonar server basic configuration
- Configuring MySQL
- Creating the database
- Setting up Sonar with MySQL
- Starting Sonar as a service
- Run as a service on Linux
- Run as a service on Windows
- Logging in to Sonar for the first time
- Securing your Sonar instance
- Sonar authentication and sources visibility
- Creating users and groups
- Managing project roles
- Backing up your data
- Sonar instance configuration backup
- Filesystem backup
- Backing up the MySQL sonar database
- Extending Sonar with plugins
- Installing the Useless Code Tracker plugin
- Upgrading Sonar from the Update Center section
- Checking compatibility of plugins
- Upgrading to latest Sonar version
- Summary
- Prerequisites for Sonar
- 3. Analyzing your First Project
- Using a Java runner
- Configuring the runner
- Setting up a Sonar server for remote connections
- Configuring the project
- Analysis with the Sonar Maven plugin
- Installing Maven
- Configuring the Sonar Maven plugin
- Performing the analysis
- Analysis with Ant
- Installing Ant
- Configuring and running Sonar analysis task
- Browsing the Sonar web interface
- The treemap gadget
- Filtering your projects
- The "What Coverage?" filter
- Sonar componentsan overview
- Dashboard
- Components
- Violations drilldown
- Time Machine
- Clouds
- Design
- Hotspots
- Libraries
- Anatomy of the dashboard
- Layout and widget arrangement
- Eliminating your first violations
- Unused modifier violation
- Modified Order violation
- Correctness - Repeated conditional tests
- Creating your first analysis event
- Getting visual feedback
- Unused modifier violation
- Summary
- Using a Java runner
- 4. Following Coding Standards
- A brief overview of coding standards and conventions
- Java standards
- Sonar profiles, rules, and violations
- The Rules Compliance Index
- Managing quality profiles
- Creating a profile
- Associating projects to profiles
- Managing rules
- Adding a rule
- Configuring a rule
- Regular expressions
- Boolean expressions
- Token and value-based rules
- Backing up and restoring profiles
- Creating a coding standards profile
- Selecting the rules
- Naming conventions and declarations rules
- Declaration order
- Abstract class name
- Variable, parameter, and method names
- Multiple variable declarations
- Local home naming
- Variable lengths
- Naming - Avoid field name matching method name
- Naming - Suspicious equals method name
- Standards rules
- Unused imports
- Unnecessary final modifier
- Unused modifier
- Magic number
- Final class
- Missing constructor
- Abstract class without any methods
- Code layout and indentation
- Avoid inline conditionals
- Left Curly
- Paren Pad
- Trailing comment
- Multiple String literals
- The for loops must use braces
- Declaration order
- Inspecting violations with the Radiator component
- Installing the Radiator plugin
- Watch the quality improving
- Configuring the Timeline widget
- Summary
- A brief overview of coding standards and conventions
- 5. Managing Measures and Getting Feedback
- Reviewing code
- Sonar manual reviews
- Assigning reviews
- Browsing reviews
- Configuring notifications
- Defining metric thresholds and alerts
- The Build Breaker
- Sonar manual measures
- Creating the Story Points measure
- Managing manual measures
- Quality reporting on your project
- Installing the PDF report plugin
- Getting the project report
- Customizing the report
- Getting visual feedback
- Timeline plugin
- Motion Chart plugin
- Bubble chart
- Bar chart
- Summary
- 6. Hunting Potential Bugs
- Potential bugs violations
- Dodgy code rules
- Use notifyAll instead of notify
- StringBuffer instantiation with char
- Use StringBuffer for String appends
- Constructor calls overridable method
- Close Resource
- Ambiguous invocation of either an inherited or outer method
- Consider returning a zero length array rather than null
- Method ignores return value
- Method does not release lock on all paths
- Null pointer dereference
- Suspicious reference comparison
- Misplaced null check
- Impossible cast
- Program flow rules
- Do not throw exception in finally
- Finalize does not call Super Finalize
- Avoid calling finalize
- Avoid catching NPE
- Method ignores exceptional return value
- Switch statement found where default case is missing
- Missing break in switch
- Avoid catching Throwable
- Security rules
- Class exposes synchronization and semaphores in its public interface
- Method returns internal array
- Hardcoded constant database password
- Dodgy code rules
- Installing the Violation Density plugin
- Integrating Sonar to Eclipse
- Installing the Sonar Eclipse plugin
- Linking an Eclipse project to Sonar server
- Using the Sonar perspective
- Summary
- Potential bugs violations
- 7. Refining Your Documentation
- Writing effective documentation
- Comments structure
- Javadoc block comment
- Javadoc line comment
- Javadoc common tags
- Comments structure
- Documentation metrics definitions
- Comment lines
- Commented-out Lines of Code
- Density of Comment Lines
- Density of Public Documented API
- Monitoring documentation levels
- Statements
- Overview of Sonar documentation violations
- Javadoc rules
- Undocumented API
- Javadoc Method
- Javadoc Package
- Javadoc Style
- Javadoc Type
- Javadoc Variable
- Inline Comments Rules
- Uncommented Empty Constructor
- Uncommented Empty Method
- Uncommented Main
- Javadoc rules
- Locating undocumented code
- Creating the documentation filter
- Generating documentation automatically
- Installing Graphviz
- Installing Doxygen
- Using the Sonar Documentation plugin
- Summary
- Writing effective documentation
- 8. Working with Duplicated Code
- Code duplication
- Dont Repeat Yourself (DRY)
- Sonar code duplication metrics
- Creating Duplicated Code Alert
- Locating duplicated code with Sonar
- Cross-project duplication detection
- Using the Radiator component to detect duplication
- The Useless Code Tracker plugin
- Tracking duplicated lines
- Tracking dead code
- Installing the Useless Code plugin
- Using extraction and inheritance to attack duplication
- The Extract Method refactoring pattern
- Refactoring with inheritance
- Summary
- Code duplication
- 9. Analyzing Complexity and Design
- Measuring software complexity
- The Cyclomatic Complexity metric
- Cohesion and coupling
- Afferent coupling
- Efferent coupling
- Sonar Code Complexity metrics
- Boolean Expression Complexity
- Class Data Abstraction Coupling
- Class Fan Out Complexity
- Cyclomatic Complexity
- JavaNCSS
- Nested For Depth
- Simplify Boolean Return
- Too many methods
- Too many fields
- Avoid too complex class
- Avoid too deep inheritance tree
- The Response for Class metric
- Lack of Cohesion in Methods and the LCOM4 metric
- Exceptions to the LCOM4 metric
- Locating and eliminating dependencies
- Using the Sonar design matrix
- Summary
- Measuring software complexity
- 10. Code Coverage and Testing
- Measuring code coverage
- Code coverage tools
- Selecting a code coverage tool for Sonar
- Cobertura
- JaCoCo
- Clover Sonar plugin
- Emma Sonar plugin
- Code coverage analysis
- Statement coverage
- Branch/decision coverage
- Condition coverage
- Path coverage
- Assessing the impact of your tests
- Uncovered lines
- Uncovered branches
- Using the coverage tag cloud component
- Quick wins mode
- Top risk mode
- Where to start testing
- The Top risk approach
- jUnit Quickstart
- Writing a simple unit test
- Reviewing test results in Sonar
- Summary
- 11. Integrating Sonar
- The Continuous Inspection paradigm
- Continuous integration servers
- Installing Subversion
- Ubuntu/Debian Subversion installation
- Red Hat Subversion installation
- Installing Subversion on other Linux distributions
- Windows Subversion installation
- Setting up a Subversion server
- Creating a Subversion repository
- Subversion security and authorization
- Importing a project into Subversion
- Installing the Jenkins CI server
- Ubuntu/Debian Jenkins installation
- Redhat/Fedora/CentOS Jenkins installation
- Windows Jenkins installation
- Configuring Jenkins
- JDK configuration
- Maven configuration
- Repository configuration
- E-mail server configuration
- Securing Jenkins
- Creating a build job
- Cron expression and scheduling
- Installing the Sonar plugin
- Building and monitoring your project
- Summary
- The Continuous Inspection paradigm
- A. Sonar Metrics Index
- Sonar metrics
- Complexity metrics
- Design metrics
- Documentation metrics
- Duplication metrics
- General metrics
- Code Coverage and Unit Test metrics
- Rules Compliance metrics
- Size metrics
- Management metrics
- Sonar metrics
- Index
- Назва: Sonar Code Quality Testing Essentials. Achieve higher levels of Software Quality with Sonar with this book and
- Автор: Charalampos S Arapidis, Charalampos S. Arapidis
- Оригінальна назва: Sonar Code Quality Testing Essentials. Achieve higher levels of Software Quality with Sonar with this book and ebook
- ISBN: 9781849517874, 9781849517874
- Дата видання: 2012-08-24
- Формат: Eлектронна книга
- Ідентифікатор видання: e_3aw2
- Видавець: Packt Publishing