close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

뭐 가독성이라고하면 3개월전에 짠 소스를 다시 들여다봤을때 조금 더 쉽게 소스분석이 쉽게 가능하도록 코딩하는 것 이라고 보시면됩니다.

 

정말 몇가지만 유의하시면 들이는 노력에 비해 가독성을 높혀주는 코딩을 하실 수 있습니다.

 

대표적으로 가독성을 떨어뜨리는 대표적인 키워드는 for, while 등의 반복문과 if문이 있겠네요.

 

if문의 경우에는 중첩되면 중첩될수록 뎁스가 높아지므로 최대한 중첩if문을 피해주시는게 좋습니다.

 

가장 쉬운예를 들자면

 

if( 조건 ){

if ( 조건2 ){

 

}else{

 

}

}

해당 소스를 보시면 조건에 해당되면 조건2에대한  if 문을 실행하고 else문을 실행하죠, 위의 소스는 2뎁스입니다. 하지만 1뎁스로 바꿔보겠습니다.

 

if( ! 조건 )

    return;

 

if(조건2){

 

}else{

 

}

 

위의 소스처럼 변경하시면 1뎁스의 if문으로 변경하실 수 있습니다. 뭐 이게 그렇게 가독성이 좋아지냐고 말씀하시면 if문 뎁스가 3~4가 되는 소스보단 if문 뎁스가 적을수록 소스분석이 쉽겠죠.

 

또한 for문같은경우에는 가독성을 떨어뜨릴 수도있지만 유연하게 코딩을 할 수 있게 도와주는 키워드이기도 합니다.

 

예를들면 대표적으로 궁사무기체크 같은경우는 대부분이 if || || || ||   if문에서 OR 조건으로 코딩되어있는 경우가 많습니다. 이럴경우에는

 

궁사무기가 추가되면 직접 if문마다 추가되야하기도 하며 나중에 어떤 아이템코드들이 추가되어있는지도 파악이 어렵습니다.

 

하지만 for과 배열을 이용하면 좀 더 쉽게 가능합니다. 편의상 자바스크립트로 작성해보겠습니다.

 

function isArrowWeapone(weaponeSid){

var arrowWeapones = [2414, 2455, 9999, 2305, 1999, 7575];

for( var i=0; i<arrowWeapones.length; i++ ){

  if(arrowWeapones[i] == weaponeSid)

       return true;

}

return false;

}

 

해당 함수는 무기번호를 넘겨받아서 배열이랑 비교해서 맞으면  true 를 반환하고 false를 반환합니다. 이처럼 공통으로 처리하면서 for문으로 처리한다면 for문을 모르더라도 배열에 아이템번호만 추가하면 되므로 메인개발자가 아니더라도 해당 컨텐츠를 추가할 수 있습니다.

 

이처럼 공통작업과 가독성 높히는 코딩 혹은 유연성을 높히는 코딩을 하시면 메인개발자의 부담도 줄어들 뿐만아니라 유지보수에도 굉장히 유용합니다.

번호 제목 글쓴이 날짜 조회 수
92 전체 노획 소스. 프렌치좋아 2024.03.31 8
91 링클래식 APM GM 설정 오류 해결법 [1] file 마렬 2020.05.14 353
90 시간마다 나오는 공지를 수정하려면! 하늘별풍선 2020.05.06 166
89 [CR] Bind Failed 오류 발생 시 누스 2018.08.28 338
88 (초심자 관점) 2. CR 구축 방법 [8] file 하얀달 2017.01.15 3755
87 (초심자 관점) 1. APMSETUP7 다운 방법 [1] 하얀달 2017.01.15 1636
86 [CR] 함수 기능 정리 [2] 마사카 2017.01.06 4091
85 CR 운영자 명령어 웨이1 2017.01.03 2306
84 CR 스크립트 if 문 [1] 웨이1 2017.01.03 566
83 CR 변수 웨이1 2017.01.03 389
82 스크립트 지식 웨이1 2017.01.03 688
81 아이템 체크 사용자 정의 함수 웨이1 2017.01.03 384
80 npc생성 웨이1 2017.01.03 591
79 cr shop_db 참고 웨이1 2017.01.03 330
78 맵블럭 오류 [1] 웨이1 2017.01.03 451
77 CR 아이템 추가 웨이1 2017.01.03 931
76 소지품 확인 사용자 정의 함수 웨이1 2017.01.03 286
75 [CR] 인던 추가방법 웨이1 2017.01.03 1446
74 가독성 높은 스크립트 짜기! 김돌돌 2016.12.24 642
73 서버 느리게하는 요소 김돌돌 2016.12.23 961
72 프바 몹추가 팁 김돌돌 2016.12.23 991
71 cr 구축법 [1] 김돌돌 2016.12.23 1508
70 맵 연결포트 강의입니다. 김돌돌 2016.12.23 389
69 머리 염색 NPC 강의 옹동봉 2016.12.22 157
68 [CR] ㅇㅇㅇㄹ // cr 초간단 강의 onpclogin 우지냥 2016.12.18 342
67 [CR] cr에서 숫자값을 저장할 수 있는 함수 우지냥 2016.12.18 129
» 스크립트 팁 - 가독성 좋게해주는 팁 우지냥 2016.12.08 188
65 유저가 접속안했을때 아이피 쉽게 알아낼수있는 간단한 TIP입니다 file 우지냥 2016.12.08 265
64 [CR] Chapter. 3-1 꼭 알아둬야할 CR의 문제점 우지냥 2016.12.03 790
63 [CR] 동화 // 조건의종류 우지냥 2016.12.03 111
62 [CR] 동화 // 조건문의 기초 [1] 우지냥 2016.12.03 102
61 CR] 동화 // 변수란 무엇인가? 우지냥 2016.12.03 128
60 [CR] 동화 // 간략하고 짧은 강의 우지냥 2016.12.03 199
59 [CR] 원거리 공격마법 만들기 우지냥 2016.12.03 345
58 [CR] 전설 // 이전 강의에 이은 2번째 강의! 우지냥 2016.12.03 187
57 [CR] 전설 // 허접한 강의(전반적인 스크립트 설명) 우지냥 2016.12.03 280
56 [CR] 이영아 // callfunc 우지냥 2016.12.03 169
55 [CR] Chapter. 2-2 데이터베이스[ 엔피씨 ]강의 우지냥 2016.12.03 118
54 [CR] Chapter. 2-1 데이터베이스[ 엔피씨 ]강의 우지냥 2016.12.03 239
53 [CR] Chapter. 1-2 통합파일의 구조체( 무료 ) 우지냥 2016.12.03 441
52 [CR] Chapter. 1-1 CR이라는 구동기에 대한 이해( 무료 ) 우지냥 2016.12.03 507
51 [기타] 레이더즈 // IPv4 Address 구조강좌.. file 우지냥 2016.12.03 126
50 [CR] 레이더즈 // 상점NPC만들기.. 우지냥 2016.12.03 182
49 [CR] 주작 // CALLFUNC "SLOTCHECK" 우지냥 2016.12.03 87
48 [CR] 주작 // CALLFUNC "ITEMCOUNT 우지냥 2016.12.03 90
47 [CR] 주작 // [기타] 해당 좌표의 아이템 읽어오기 우지냥 2016.12.03 148
46 [CR] 주작 // switch문 추가 강의 우지냥 2016.12.03 87
45 [CR] 그림과 함께 하는 랭킹적용(랭킹자료포함) [4] file 행복e 2016.11.30 340
44 [CR] [스크립트] '스크립트'의 가장 기초적인 설명3 로이로이로이로이 2016.10.25 147
43 [CR] [스크립트] '스크립트'의 가장 기초적인 설명2 로이로이로이로이 2016.10.25 161