광어네 맛집

[Objective - C]어떻게 리펙토링할 것인가?_손을 많이 탄 코드일 때 (+생각) 본문

Objective-C [레거시 뿌수기!]/Objective-C

[Objective - C]어떻게 리펙토링할 것인가?_손을 많이 탄 코드일 때 (+생각)

Lautner Jacob 2022. 4. 2. 13:49
728x90
반응형

후아ㅏㅏ ObjC 에 대해서 적을 내용이 참 많네..

이번 포스팅은 특별한 건 아니고

내가 생각하고 있던 거랑 다른 분의 의견을 종합해서 적어보고자 한다!

 

오래된 회사에서 코드를 뜯어보면 레거시 코드가 많이 있다

그런 코드를 보면 이건 왜 그렇게 쓰는지 이해가 안되는 것들이 많이 있을 거임

 

 

안 그렇다고? 하면 

회사가 크거나 스타트업이거나 리펙토링 했겠죠?ㅋㅋㅋㅋㅋ라고 믿고 싶어요 ㅜ

 

이거 누가 작성했어!!
- 코드를 보니 View 구성이 특정View를 전부 상속받아서 작성되어 있었음

내 생각: 상속을 하는 건 OK, 근데 쓰지도 않을 객체를 만들어 놓고 모든 ViewController에 상속 시켜놓으면
앱이 무거워지지 않을까 함 그래서 뜯어 고치고 싶은데용?

다른 분 생각: 대부분 1인 개발자가 많아서 초기 그 사람 성향에 따라서 그렇게 작성했을 거임.
그리고 여러 사람들이 왔다갔다 하면서 말도 안되는 레거시 코드가 생겨서 어쩔 수 없음 ㅜㅜ

다 뜯어 고치고 싶지만 현재 서비스하고 있는 앱이고 확장하고 있는 앱이라
조만간 기간을 충분히 가져서 Swift 로 언어를 통째로 바꾸는 게 좋을 거 같음!

현재 운영 중인 서비스를 건드는 건 리스크가 크니 굳이 건드리지 않는게 좋음!

 

왜 코드가 규칙?(제약?) 없이 만들어?

Objective C 에서 MRC에서 ARC가 중간에 나와서 섞어서 사용하는 건 이해함

근데 왜 선언할 거면 다 선언하지 어쩔 땐 세부적으로 작성하고, 어쩔 땐 default로 선언되는 것들은 생략하냐고용

 

여기도 똑같지만 Swift 로 들어가게 되면 새롭게 다 뜯어가야 하니까 

SwiftLint library 를 사용해서 쓰기로 합니다로 개인적인 정리..

 

주석은 동기화가 되지 않는다구..

주석을 통해서 코드를 찾아가면 설명과 동일하게 리턴 값이 나온게 아니라 이상하게 나오는 게 있습니당

그럴 때는 코드를 살짝 살짝 보면 이해는 되지만

시간적으로 더 오래 걸림 ㅜㅜ

주석을 깔끔하게 적고 싶으면 바꿔진 코드도 따라가서 같이 적고 아예 안적을 거면 적지 않는 걸로!

 

Stack View가 마냥 좋을까? (조금 사적일 수도 있지만..)

스토리보드가 마냥 좋다고는 생각하지 않지만 장점도 분명 있으니까 사용하는 거라 생각함

스토리보드 사용하면서 TableView나  CollectionView를 자유롭게 사용하고 확인하니까 편리하게 사용할 것라 생각했지만

아무리 기획서가 많이 바뀌더라도 거의 StackView + ScrollView.. ㅡㅡ;

 

그러니 layout이 쫌 깨지는 ㅎ... 할많하않 ㅎㅎ..

Swift 가서도 Storyboard 기반으로 할 거면 좀 더 다양하고 각 기능을 사용해서 리펙토링 하고 싶음 ㅜㅜ

 


쓰다보니 Objective C 안좋다 같이 글을 쓴거 같은데 ㅜㅜ
여전히 Swift에서도 NS로 시작하는 메서드를 쓸 때도 있음!

 

장점은 살리고 단점은 죽여서 최상의 결과물을 만들고 싶다는 생각이 들었음

 

더 적고 싶은 내용이 많지만!

Objective C 가 확실히 이거다! 라고 결론을 못 낸 상태라서 이번 글은 여기서 급 마무리!

그리고 점심식사 대신 적는거라 ㅎㅎㅎ..

 

ObjC 공부하랴 Swift 공부하랴 ㅋㅋㅋ

바쁘다 바뻐 ㅋㅋㅋㅋ

 

모두들 화이팅!

728x90
반응형