Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
Szczegóły ebooka
Zaloguj się, jeśli jesteś zainteresowany treścią pozycji.
Sonar Code Quality Testing Essentials. Achieve higher levels of Software Quality with Sonar with this book and
Charalampos S Arapidis, Charalampos S. Arapidis
Ebook
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
- Tytuł: Sonar Code Quality Testing Essentials. Achieve higher levels of Software Quality with Sonar with this book and
- Autor: Charalampos S Arapidis, Charalampos S. Arapidis
- Tytuł oryginału: Sonar Code Quality Testing Essentials. Achieve higher levels of Software Quality with Sonar with this book and ebook
- ISBN: 9781849517874, 9781849517874
- Data wydania: 2012-08-24
- Format: Ebook
- Identyfikator pozycji: e_3aw2
- Wydawca: Packt Publishing