Page 15 -
P. 15

코딩을 처음 배울 때는 우선 올바르게 돌아가게 하는 것이 목표이며 또한 목표여야 한다. 코드가
               실제로 동작하는가?라는 단순한 기준으로 코드를 평가한다.

               하지만 경험이 쌓이면서 소프트웨어 공학자는 코드 품질 측면에서 또 다른 계층들과 미묘한 차이
               를 익혀 나가기 시작한다. 같은 일을 해내더라도 두 코드 중 한 코드가 더 나을 수 있음을 배운다.

               코드 품질은 다양한 척도로 평가할 수 있다. 한 가지 중요한 척도가 코드 유지 보수성이다. 코드
               유지 보수성은 가독성, 조직, 코드 모듈성 같은 측면을 포함한다.

               하지만 고품질 코드에는 또 다른 측면이 있는데 바로 코드 효율성이다. 예를 들어 같은 목표를 달
               성해도 두 코드 중 하나가 더 빠르게 실행될 수 있다.

               2부터 100 사이의 짝수를 출력하는 다음 두 함수를 살펴보자.

                 def print_numbers_version_one():
                     number = 2

                     while number <= 100:
                         # number가 짝수면 출력한다.
                         if number % 2 == 0:
                             print(number)
                         number += 1

                 def print_numbers_version_two():
                     number = 2


                     while number <= 100:
                         print(number)

                         # 정의에 따라 다음 짝수로 2씩 증가시킨다.
                         number += 2


               어느 함수가 더 빨리 실행되겠는가?
               두 번째 버전이라고 답했다면 정답이다. 첫 번째 버전은 루프를 100번 돌고 끝나지만 두 번째 루

               프는 50번만 돈다. 따라서 첫 번째 버전이 두 번째 버전보다 두 배 더 많은 단계를 거친다.
               이 책은 효율적인 코드 작성법을 다룬다. 더 뛰어난 소프트웨어 개발자로 거듭나려면 더 빠르게 실

               행되는 코드 작성 능력을 갖추어야 한다.
               빠른 코드를 작성하는 첫 번째 단계는 자료 구조가 무엇인지, 다양한 자료 구조가 코드 속도에 어

               떤 영향을 미치는지 이해하는 것이다. 이제 본격적으로 시작하자.


         028
   10   11   12   13   14   15   16   17   18   19   20