Google java 스타일 가이드 기준

https://google.github.io/styleguide/javaguide.html

 

  • 패키지명은 모두 소문자 - ex) com.example.deppspace
  • 클래스명은 UpperCamelCase - ex) Example
  • 메소드명은 lowerCamelCase - ex) sendMessage()
  • 상수명은 모두 대문자 단어의 구분은 밑줄 - ex) CONSTANT_CASE
  • 필드명은 lowerCamelCase - ex) computedValues
  • 파라미터명은 lowerCamelCase

1. 리소스 네이밍 규칙

    # drawable

     기본 규칙 : [분류]_[색상]

               ex) ani_sliding_left, select_login, bg_intro_ffffff, bg_rect_5_ffffff_a0ffff_r40

 

       - 분류

유형 축약명 규칙 예시 비고
animation ani [유형]_[목적] ani_loading 애니메이션 정의
selector sel [유형]_[목적]

sel_close

sel_bookmark

 
background bg [유형]_[목적]_[색상] bg_intro 배경
shape rectangle rect bg_[유형]_[테두리 굵기 dp]_[모서리]_[색상] bg_rect_5_ffffff_a0ffff 테두리
shape line line bg_[유형]_[라인 굵기 dp]_[색상] bg_line_2_ff00ff 실선
shape line dash dash bg_[유형]_[라인 굵기 dp]_[색상] bg_dash_ffff00 점선
shape oval oval bg_[유형]_[크기dp]_[색상] bg_oval_4_ff0000 타원
shape ring ring      

        - 색상

         기본 규칙 : [투명도][%]_[색상]

                   ex) a80_ffacee, a40_eeddcc_a80_ffeeec, ffaacc_a60_aaddff

  • 투명도는 alpha의 축약 a를 쓰며, 투명도 %를 표시한다.
  • selector 에서는 [기본 투명도]_[기본 색상]_[눌렀을때 투명도]_[눌렀을때 색상]으로 표시한다.
  • rect 에서는 [배경 투명도]_[배경 색상]_[테두리 투명도]_[테두리 색상]으로 표시한다.
  • 색상이 그라데이션인 경우 [시작 투명도]_[시작 색상]_[중간 투명도]_[중간 색상]_[끝 투명도]_[끝 색상]으로 표시한다.

       - 모서리

 

유형 축약명 규칙 예시 비고
round

r

rt

rb

rtl

rtr

rbl

rbr

[유형][크기 dp]

r30

rt10

rb20

rt10_rb20

rtl10_rtr15_rbl10_rbr15

Radius 표시(단위 dp)

r : 전체

rt : 상단

rb : 하단

rtl : 상단 왼쪽

rtr : 상단 오른쪽

rbl : 하단 왼쪽

rbr : 하단 오른쪽

 

    # layout

유형 축약명 규칙 예시 비고
Activity   activity_[대상] activity_main  
Fragment   fragment_[대상] fragment_coupon  
Item   itme_[대상]_[목적] item_coupon_history  
layout   layout_[대상]

layout_titlebar

layout_dialog

CustomView로 완성된 형태, include 뷰 등

 

2. 뷰 아이디 네이밍(android:id="@+id")

기본 규칙 : [소속]_[소속2]_[대상(역할)]_[뷰명(축약)]

        ex) main_login_btn, coupon_item_title_tv

    # 뷰 컴포넌트 축약

패턴 뷰명 축약
Buttons Button btn
ImageButton ibtn
CheckBox cb
RadioGroup rg
RadioButton rbtn
ToggleButton tbtn
Switch sw
FloatingActionButton fabtn
Widgets View v
ImageView iv
WebView wv
VideoView vv
CalendarView calv
ProgressBar pbr
SeekBar sbr
RatingBar rbr
SearchView scv
TextureView ttv
SufaceView sfv
Layouts ConstraintLayout cl
LinearLayout ll
FramLayout fl
TableLayout tl
Containers Spnner sp
RecyclerView rv
ScrollView sv
HorizontalScrollView hsv
NestedScrollView nsv
ViewPager vp
CardView cv
AppBarLayout abl
NavigationView nv
Toolbar tbr
TabLayout tabl
TabItem tabi
ViewStub vs
Google AdView av
MapView mv
Legacy GridLayout gl
ListView lv
TabHost tabh
RelativeLayout rl
GridView gv
ExpandableListView elv
Gallery gal
ViewFlipper vf
SlidingDrawer sd
DatePicker dp
TimePicker tp

+ Recent posts