이 Effective Kotlin책으로 공부를 하면서 첫 장인 안정성 파트를 끝냈습니다.
이안정성 파트를 끝내고 느낀점은 지금까지 짰던 코드들은 그 당시에는 안전하다고 생각했지만 그렇게 안전한 코드는 아니었습니다. 코드를 안전하게 만들기 위해서는 기존에는 실행 시 돌아가기만 하면 된다고 생각했습니다. 지금 보면 우스운 일입니다. 눈으로 보기에는 잘 돌아가는 것처럼 보여도 잠재적인 오류가 지뢰처럼 깔려있을 것입니다. 만약 이러한 코드로 구성된 앱을 플레이스토어에 올린다고 생각하면 엄청난 컴플레인을 받을 것입니다. 이번장의 목표인 오류가 덜 발생하는 코드를 만들라는 것은 머리에 다가왔습니다.
안정성 파트를 공부하면서 가장 크게 다가온 부분은 가변성과 Failure였습니다. 이전까지는 빠른 코드를 작성하는 데에 초점을 맞추어 var 키워드를 자주 사용하고 함수가 돌아가기만 하면 되는 걸로 생각했습니다. 그러나 이제는 코드의 가독성과 안정성을 높이기 위해 가변성에 대해 더 신경을 쓰게 되었습니다. 특히, 네트워크와 같은 특별한 상황이나 다른 개발자들과 협업할 때를 고려하여 가변성을 줘야하는지를 고민하게 되었습니다.
또한, 코드에서 예외 처리와 Failure에 대해 더 많은 고민을 하게 되었습니다. 이전에는 코드가 간단히 돌아가면서 에러가 발생하지 않는 것만으로 충분하다고 생각했습니다. 하지만 지금은 코드의 안정성을 높이기 위해 예외 상황을 고려하고, 에러가 발생했을 때 적절한 처리를 하는 것이 중요하다는 것을 깨닫게 되었습니다. 따라서 결과에 따라서는 Return 타입 대신 Result 클래스를 이용하여 예외를 처리하는 방식을 적극적으로 채택하고 있습니다.
이러한 변화는 작은 것처럼 보일 수 있지만, 실제로는 코드의 안정성과 유지보수성을 크게 향상시키는데 도움이 되고 있습니다. 가변성과 예외 처리에 대한 고민이 모든 코드 작성에 영향을 미치기 때문에 지속적인 학습과 개선을 통해 더 나은 코드를 작성하려고 합니다.
'코틀린 > Effective Kotlin' 카테고리의 다른 글
[Effective Kotlin] 12. 가독성 - 연산자 오버로드를 할 때는 의미에 맞게 사용하라 (0) | 2023.08.11 |
---|---|
[Effective Kotlin] 11. 가독성 - 가독성을 목표로 설계하라 (0) | 2023.08.09 |
[Effective Kotlin] 10. 안정성 - 단위 테스트(Unit Test)를 만들어라 (0) | 2023.08.02 |
[Effective Kotlin] 9. 안정성 - use를 사용하여 리소스를 닫아라 (0) | 2023.08.01 |
[Effective Kotlin] 8. 안정성 - 적절하게 null을 처리하라 (0) | 2023.07.28 |