자유게시판

제목 이것은 정도의 차이인가? CI의 단점인가?
글쓴이 risa 작성시각 2013/04/06 15:54:49
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 9893   RSS
 CI로 작업을 하다 보면 어느샌가 타임로스가 되는 부분이 발생 합니다.

여태까지 사용자의 미숙함 으로 치부 했기에 별 생각이 없었습니다.


그런데 유지보수 적인 측면을 볼때 CI로 작업하면 이상하게 점점 작업시간이 늘어지는 부분이 생깁니다.


' 그깟짓거 요래요래 하면 끝이잔아? '

하고 머리로는 떠올리는데 실제 작업 시간은 예상을 넘어갑니다.

10분도 안걸리겠지? 라고 생각한게 30분이 걸리고 말이죠?


왜 그런가 하는 의문에 전 한가지 의구심을 부여했습니다.


바로 CI의 몇가지 룰 규칙  입니다!


컨트롤러에서 뷰로 데미터를 넘겨줄때

$data['array'] = $array; 

별로 대수 롭지 않게 생각 했습니다.
필요할때 마다 하나 더 만들어거 넘겨주면 돼지 뭘.

그런데 말이죠?


뷰에 딱 하나의 값을 더 추가로 넘기고 싶은 것입니다.

그럼 이렇게 했든 저렇게 했든

컨트롤러에서 값을 담은 다음에 $data[] 를 통해서 넘기고 나서 뷰에서 다시 받아온걸로 수정 해야합니다.


만일 한 페이지의 하드코딩이라면 떠오른 대로 바로 찾아가서 해결 할것입니다.
값을 따로 넘겨주느니 하는게 없으니깐요.

그런데 CI는 두번 작업 하는 셈이 됩니다.


에이 그정도로 가지고 뭘~

이라고 생각 했는데 지금와서 생각 하니 데이터를 넘겨 준다는 개념이 생각보다 타임로스를 일으키고 있습니다.


만일 헬퍼 나 라이브러리 사용시에

$return_data = function($data); <- 이런 형식으로

컨트롤러에서 만들어 놓은 임의의 변수 값을 체크해서 리턴해 오는 형태의 경우?

컨트롤러에서 만일 데이터 변경이 일어나면 당연히 오류가 발생 할수 있습니다.

거기에 수정 사항이 온다면 해당 라이브 러리를 찾아가서 이렇쿵 저러쿵... 인자 갯수가 바뀌면 여기갔다 저기갔다...


즉 헬퍼와 라이브 러리가 변경 가능한 인자 갯수와 형태를 가지거나 호출시에 넘겨받는 인자값에 종속적인 형태가 되면

유기적인 변화에 대응하기 어렵다는 셈이 됩니다.

이러한 점 때문에 헬퍼와 라이브러리는 구성이 좀 독립적으로 따로 논다는 느낌이 강하며 실질적으로 독립적인 형태가 되어

어디에 넣든간에 쉽게 종속적이지 않은게 가장 좋은 형태가 되는것 같습니다.


결과적으로...

MVC 패턴이라는것 자체가 사실 유기적이지 못한 형태가 아닌가? 하는 생각이 점차 들기 시작 합니다.

이론대로라면 최소한 V 부분 만이라도 전혀 프로그램을 모르는 디자이너가 자연스럽게 스킨을 입히는게 가능 해야 할 것입니다.

물론 템플릿 파서도 지원 하기도 하고 HMVC도 있지만 이상보다는 한참 미치지 못한다는 느낌이 분명 있습니다.




결론적으로 CI는 비교적 타 프레임워크보단 편하지만 

결코  쉬운 코드 라고 부르기에는 어려움이 있다. 라는 것입니다.


알고리즘이 복한한게 들어가는게 어려운 코드가 아닙니다.

수정하기 복잡해지면 그게 어려운 코드입니다.

 다음글 인사겸 .. index.php 없애기 관련 소소한 팁하... (1)
 이전글 ci 2 매뉴얼 크롬 확장 (1)

댓글

criuce / 2013/04/06 18:52:19 / 추천 0
CI는 느슨한게 장점이자 단점인것 같아요.
프레임워크라는것이 유지보수가 편하다는 장점으로 도입된 것인데 CI는 그러지 못한게 현실인것 같고 이건 CI문제라기 보단 PHP문제인것 같기도 하구요.

변종원(웅파) / 2013/04/07 14:52:04 / 추천 0
func_get_args() ^^;