GithubHelp home page GithubHelp logo

layoutoverlay's People

Contributors

7loro avatar amoseui avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

amoseui

layoutoverlay's Issues

정적 분석 적용

ktlint

  • 코틀린으로 작성한 코드의 스타일 검사와, 형식에 맞지 않는 부분을 수정하는 기능
  • Kotlin 공식 코드 스타일 가이드를 기준

detekt

  • detekt는 단순한 문법검사를 넘어 정적 분석으로 문제점을 야기할 수 있는 코드 파악하여 코드 품질 개선

Android Lint

  • 프로젝트 구조를 검사
  • deprecated api, unused namespace 등

참고 : http://tech.oliveyoung.co.kr/tech/2101231252/#%EC%B0%BD%EC%84%B8%EA%B8%B0-1%EC%9E%A5-%EC%BD%94%EB%94%A9-%EC%BB%A8%EB%B2%A4%EC%85%98-%EC%88%98%EB%A6%BD

github 프로세스 제안

마일스톤, 프로젝트

  • 마일스톤은 릴리즈 기준, 프로젝트는 스프린트, iteration 등으로 기간으로 관리하는게 편함
    • 프로젝트 보드에 이슈 티켓이 계속 쌓일 것이기 때문에 주기적으로 교체하는게 관리하기 편함 -> 기간 주기
    • 릴리즈 목표 버전 별로 마일스톤을 만들어서 어느 이슈가 어느 버전에 들어갈지 관리
  • 보통 이슈 기준으로 PR을 만들기 때문에 PR은 마일스톤, 프로젝트에 따로 추가할 필요는 없을듯 (중복)
  • PR description 에 이슈 링크를 추가하거나 Linked pull requests 등으로 1:1 링크도 가능

업무에서 사용하는 설정 + 개인 github 세팅

  • 리뷰 프로세스 관련
    • Settings > Branches > Branch protection rules (master branch)
      • 보통 체크하는 것
      • Require a pull request before merging
        • Require approvals (리뷰, 빌드 등)
        • Dismiss stale pull request approvals when new commits are pushed
        • Require review from Code Owners (선택, CODEOWNERS 파일로 폴더/파일 단위로 리뷰어 관리 가능)
      • Require status checks to pass before merging (CI 가 있는 경우 어떤 job을 require 할 것인지 설정 가능)
        • Require branches to be update before merging
  • Merge 방법
    • Settings > Options > Merge button
      • Allow squash merging 만 체크
        • 하나의 PR 당 하나의 commit 으로 submit 됨, 브랜치 분리, merge commit 없이 linear 하게 히스토리 관리돼서 보기 편함
        • PR에서 리뷰 중 추가 수정이 필요할 때는 amend 옵션 없이 추가 commit 을 새로 만들어서 올려서 추가 수정을 확인
        • merge 할 때는 하나로 합쳐서 submit됨

CI 에서 확인하면 좋은 것

  • test coverage
    • gradle 에 jacoco 로 test coverage 추가
    • codecov, coveralls 등 외부 툴을 이용해서 PR에 봇이 comment 를 달거나 웹 UI로 따로 볼 수 있음
  • 코드 스타일 등 -> ktlint? detekt? 자동으로 확인

빌드 에러 수정

#17 에서 Actions 동작하지 않아 빌드 확인 없이 반영
#18 에서 빌드 에러 발견

* What went wrong:
Execution failed for task ':feature:calculator:verifyReleaseResources'.
> A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action
   > Android resource linking failed
     ERROR:/home/runner/work/LayoutOverlay/LayoutOverlay/feature/calculator/src/main/res/navigation/calculator_nav_graph.xml:2: AAPT: error: attribute startDestination (aka com.casper.layoutoverlay.calculator:startDestination) not found.

개발자 정보 구현

보여줄 내용

  • maintainers
    • [icon] 7loro
    • [icon] amoseui
  • contributors
    • [icon] ...

구현 예상

  1. json 형태로 asset 에 저장해 놓고 값을 읽어서 보여줌
  2. https://github.com/7loro.png 와 같은 url 로 프로필 사진 받아올 수 있음
{
  "maintainers": [
    {
      "name": "7loro",
      "photoUrl": "https://github.com/7loro.png"
    },
    {
      "name": "amoseui",
      "photoUrl": "https://github.com/amoseui.png"
    }
  ]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.