달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

요즘 갑자기 C#을 다시 손을 대는 있어서, 오래된 기억을 다시 들추어 보려는 목적을 가지고 책을 한번 읽기 시작하였다.

사실 이 책은 C#으로 예제 코드를 가지고 설명을 하고 있지만, C#만을 위해서 설명하기보다는 프로그래밍의 전반적인 면에서 하나씩 이야기를 풀면서 접근하고 있다. 

 

책의 두께는 약 200페이지가 조금 넘는데, 생각보다 많기는 하지만 약은 그렇게 많지는 않아서 읽기는 무척 수월하다.

 

[책 표지]

저자는 5명이 Chapter를 나누어서 작성하였는데, 소프트웨어 공학을 바탕으로 글을 쓰고 있어서, 내용상으로 일관성을 유지하기는 하지만, 구체적인 이야기와 에피소드가 적어서 조금 딱딱하게 느껴질 수 있다. 

어떻게 소프트웨어의 품질을 유지하면서 개발을 코딩을 할 것인가에 초점이 맞추어져 있어서, 대학에서 강의를 들을때의 학구적이지만, 재미는 없는 그런 타입의 책이 되어서 조금 아쉽다.

 

하지만, 내용상으로는 한번씩 읽어 보아야 할 부분들이 많다.

요즘의 개발은 agile을 빠른 개발이 이전의 10년 ~20년 전과는 사뭇 다르다. 잘 만들어진 컴포넌트와 프레임워크가 개발자로서의 고민과 해야 할 일들을 대신해주기 때문에, 다시 한번 초심으로 돌아간다라는 생각을 가지고 읽어 본다면, 여러 가지를 다시 한번 생각하게 해 줄 것이다.

 

조금 오래동안 개발에 몸 담고 있는 개발자라면, 이 정도는 나도 이미 하고 있어라고 이야기할 수 있지만, 하고 있는 것이 중요한 것이 아니라, 왜 해야 하는지를 다시 한번 생각해보는 것이 좋을 것 같다.

 

유지보수라는 주제는 완벽하지 않음에서 비롯될 수 밖에 없다.

완벽하다면, 변경이 필요없겠지만, 사람도 시스템도 완벽할 수는 없기 때문에 개발이 완료되고 론칭을 잘 되었어도 언제고 유지보수라는 단계는 필요해지기 마련이다.

 

개발중에도 검토되지 않은 환경을 위해서 얼마만큼을 변경될지를 가늠해서 미리 코드를 만들어 넣어야 할지도 개발자에게는 고민 중의 하나이다.  

 

기능적인 확장성과 코드의 재사용성을 위해서 테스트 코드는 굉장히 중요하고, 단순하고 이해하기 쉬운 코드를 작성하는 것이 유지보수를 위해서 반드시 필요한 기술이다. 

이외에도 아키텍처상으로 컴포넌트를 느슨하게 결합하거나, 모듈들 기능과 관심사 별로 분리하는 것도 구조을 잡는데 도움이 된다. 하지만, 역시 이러한 것들은 말보다는 직접 해봐야 알 수 있는 것들이다.

 

알고 있는 것을 다 적용하기는 시간과 비용측면에서도 고려되어야 할 측면들이다. (우리는 아는 것이 너무 많다.)

개발자에게 주어진 환경은 언제나 변화무쌍하다. 적절하게 칼을 잘 골라 쓴다면, 여러 가지로 이로울 것이다. 

 

'공부하는 것' 카테고리의 다른 글

.NET Core 3.1 발표를 보면서...  (3) 2019.12.09
새로운 Text.Json APIs  (0) 2019.06.16
요즘 내가 공부하는 것  (1) 2019.06.07
Visual Studio Code 1.0 정식 Released  (2) 2016.04.16
알고리듬 성능비교 - Selection Sort  (0) 2016.02.27
:
Posted by 행복상자