Crash Course: Computer Science를 정리했습니다.
소프트웨어 공학
소프트웨어 공학은 '마가렛 해밀턴'이 만든 용어이다.
예를 들어 MS오피스는 코드라인이 4천만개에 달한다. 이런 거대한 프로그램을 만들기 위해서는 소프트웨어 공학이 필요하다.
Object oriented Programming
객체지향 프로그래밍이란 함수를 계층구조로 패키지화하는 것이다. 즉, 관련된 코드를 객체로 모으는 것이다.
여기서 객체는 다른 객체와 함수를 포함할 수 있다.
복잡성을 숨기고 선택적으로 그것을 드러내는 것이 본질이며, 크고 복잡한 프로그램을 만드는 대중적이고 강력한 방법이다.
API (Application Programming Interface)
공동으로 작업하는 방식이다. 적절한 접근 권한을 알 수 있게 해 준다.
함수의 private public 설정 기능
private를 사용하면 해당 객체 내부의 함수만 호출할 수 있다.
IDE
컴파일 되기 전의 코드는 그저 텍스트에 불과하다.
프로그래머들은 테스트와 디버깅에 7-80퍼센트의 시간을 사용한다.
이러한 전반적인 과정에 도움을 주는 도구가 IDE다.
문서화도 중요!
readme, 주석으로 문서화를 하는 것으로 코드 재사용reuse을 촉진할 수 있다.
소스 컨트롤 = 버전 컨트롤 = 리비전 컨트롤
공동 작업을 돕는 소프트웨어. 중앙집중화된 코드 repository에 작업물이 저장된다.
테스트 (QA)
알파 버전 : 내부 테스트
베타 버전 : 외부 테스트