사이트 로그인
2016.12.08 22:21
뭐 가독성이라고하면 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문을 모르더라도 배열에 아이템번호만 추가하면 되므로 메인개발자가 아니더라도 해당 컨텐츠를 추가할 수 있습니다.
이처럼 공통작업과 가독성 높히는 코딩 혹은 유연성을 높히는 코딩을 하시면 메인개발자의 부담도 줄어들 뿐만아니라 유지보수에도 굉장히 유용합니다.