Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise Detalhada dos Projetos INF1028 – Projeto e Construção de Software Alessandro Garcia and Daniel Coutinho Criteria ► Active ► Open Source ► Hosted on GitHub ► At least 3 years of existence ► Multiple developers ► Modern code review applied (through GitHub Pull Requests) ► Feasible Installation 2 Recommended Languages 3 General Information 4 spring-boot zulip mockito JabRef matplotlib Commits 41883 50438 5905 17986 46753 Open PRs 32 1123 7 22 325 Closed PRs 5582 15820 1465 5821 15829 Open Issues 580 1779 321 361 1507 Closed Issues 28198 6050 1149 3481 7852 ~Lines of Code 754.2k 1.0m 112k 1.6m 790k Useful Information ► README ► Contribution Guidelines ► Issue Template ► Code of Conduct ► Pull Request Instructions/Template 5 6 7 8 9 10 11 12 13 Useful Information 14 zulip mockito matplotlib JabRef spring-boot README Contribution Guidelines Issue Template Code of Conduct Pull Request Instructions 15 Spring-boot (last month) 16 Mockito (last month) 17 JabRef (last month) 18 Zulip (last month) 19 Matplotplib (last month) 20 Refactoring Activity 21 Tools – Refactoring 22 ► RefactoringMiner – State of the art for Java projects ► Forks for Kotlin and Python (KotlinRMiner, PyRef, Py-RefactoringMiner) ► RefDiff – Multi-language refactoring detection tool ► Works as a Java Library instead of as a command line tool ► Supports Java, Javascript and C Non-Functional Requirements ► A NFR Commit should address one (or more) NFR 23 NFR commits 24 25 26 NFRs (Labels) 27 Next Steps ► Evaluate candidate projects ► Domain ► Documentation ► README and artifacts to setup the Project ► Templates for contributions ► Closed Issues/PRs ► Source Code: Good practices ► Modules that are easily understandable 28 Projects (last 4 semesters) 29 Tools – Static Analysis ► PMD ► Open Source Static Analyzer ► Mainly for Java, has limited support for other languages ► SonarQube Community Edition ► Free and open source version of a proprietary static analyzer ► Support Java, C#, PHP, Python, Javascript, Typescript, Kotlin, Ruby, Go, Python, and a few other 30 Análise Detalhada dos Projetos INF1028 – Projeto e Construção de Software Alessandro Garcia and Daniel Coutinho
Compartilhar