hyperskill - What are bugs 영어 원문
소프트웨어 버그는 프로그램을 부숴 버리거나 유효하지 않은 결과를 낳는 문제입니다.
소프트웨어 버그는 많은 이유가 있습니다.
가장 흔한 문제는 소프트웨어 디자인, 코딩 및 피룡사항에 대한 이해사항에 있어서 인간의 실수입니다.
프로그램은 분명한 버그들을 많이 가지고 있지 않다면, stable (안정적) 이라고 부릅니다.
만약 프로그램이 기능성과 알맞지 않는 결과를 일으키는 버그를 많은 수 보유하고 있다면,
프로그램은 buggy (버그가 많은) 혹은 unstable (불안정) 이라고 부릅니다.
유저들은 위와 같은 이러한 프로그램과 성공적으로 상호작용 할 수 없습니다.
당신의 프로그램에서 유저들이 상호작용을 시작하기 전에 버그를 찾는 것은 중요합니다.
Bug etymology - 버그의 어원
버그의 단어는 어디서 기원했는가?
당신은 아마 이미 "bug" (버그) 에 대한 용어를 들어 봤을 것이며, 그것이 의미하는 바를 상상할 수 있습니다.
여기에 이에 대한 이야기가 있습니다.
첫번째 컴퓨터 버그는 1947년에 Grace Murray at Harvard University 에 의해 발견되었습니다.
해당 이슈에 대한 조사를 하는 동안, 실제 나방이 릴레이의 접점에서 발견되었습니다.
나방은 제거되었고, logbook(기록 책)에 추가되었습니다.
해당 기록 책은 현재 워싱턴 D.C 의 스미소니언 국립 박물관에 위치해 있습니다.
따라서, 컴퓨터 에러는 종종 버그라고 부릅니다.
이 용어는 상세하게 자연스런 에러가 결정될 때 까지는 어떠한 올바르지 않은 프로그램 행동을 묘사하는 데 사용됩니다.
Why do programs have bugs? - 프로그램은 왜 버그를 가지고 있을까?
개발자들은 버그 없는 프로그램은 존재하지 않는다고 자주 이야기합니다.
소프트웨어 내부의 버그에 대해서 몇몇 공통적인 이유들이 있습니다.
- 팀 내부에서 커뮤니케이션 문제
- 필요사항을 이해하지 못함
- 소프트웨어 복잡성
- 프로그래밍 에러 (프로그래머, 혹은 비슷한 사람이 실수를 만들 수 있으므로.)
- 시간에 대한 압박
- 친숙하지 않은 기술을 사용
- 서드 파티 라이브러리 에서의 에러
이 코스를 수행하는 동안, 당신은 주로 버그를 맞닥들일 것인데,
이는 주어진 필요사항에 대한 이해도 부족이거나, 프로그래밍 에러입니다.
Avoiding bugs - 버그 피하기
큰 프로그램에서 모든 버그를 회피하는 것은 대부분 불가능합니다.
하지만, 이러한 버그의 숫자를 줄이는 것은 가능합니다.
여기에 우리는 교육적인 코스 그리고 산업 프로그램에서 버그를 줄이는 데 도움이 될 수 있는 5 단계를 주겠습니다.
1. 해야 할 것을 확실히 알아라
프로그래머로서, 당신은 당신이 작업해야 하는 프로그램의 필요사항에 대한 이해가 필요합니다.
만약 당신이 염려를 가지고 있다면, 언제나 인터넷이나 숙련된 개발자들 사이에서 도움을 찾을 수 있습니다.
2. 프로그램 분해하기
프로그램을 작은 단위로, 쉽게 보고, 이해할 수 있도록 분해합니다.
좋은 구조는 소프트웨어 복잡성을 줄입니다.
그리고, 결과적으로 에러의 수가 줄어듭니다.
3. 읽기에 쉬운 코드를 작성하기
코드를 읽기 쉽게 작성하고, 언어의 모든 표준을 따르세요.
더 적은 에러를 만들게 해 줍니다.
4. 예상 입력 값을 이용해서 프로그램을 실행하기
테스트 입력 값을 이용해서 프로그램을 구동하세요.
서로 다른 케이스들을 넣는 것도 잊지 마세요 :
0 또는 아주 큰 숫자를 입력 값으로 쓰거나, 0 혹은 하나의 구성 요소를 입력 순서로서 쓰세요.
이러한 케이스들은 종종 버그를 드러냅니다.
5. 자동화 테스트를 작성하기
프로그램의 빌드 시간에 에러를 체크하는 자동화 테스트를 작성하세요.
이 주제에서는 자동화 테스트에 대해서 다루지 않을 겁니다.
하지만, 이에 대해서 나중에 다룰 겁니다.
이 순간, 당신은 간단히 입력 값의 집합을 만들 수 있으며, 프로그램을 정석대로 실행 할 수 있습니다.
Debugging - 디버깅
당신이 몇몇 입력 값들에 대해 프로그램이 올바르게 작동하지 않는다는 것을 알았다고 가정하겠습니다.
이 버그를 고치기 위해서, 코드 내부의 버그를 찾거나, 변화를 만들어야 할 필요가 있습니다.
버그가 일어나는 곳을 찾기 위해서, 당신은 밑의 리스트를 할 수 있습니다 :
- 코드를 읽고 입력 값에 대해 무엇이 수행되는지 이해하세요.
- 디버깅을 시작하고 프로그램 컨트롤 흐름에 있어 현재 변수 값들을 보세요.
- 프로그램에 있어 코드의 치명적인 부분의 현재 상태를 출력하세요. 그리고 분석하세요. (로깅 : logging)
위에 있는 접근들의 조합은 당신의 프로그램에서 대부분의 버그를 찾을 수 있게 해 줍니다.
Conclusion - 결론
이 주제를 요약 해 봅시다.
버그는 프로그램의 올바르지 않은 행동입니다.
하지만, 버그의 숫자를 줄일 수 있는 방법들이 있습니다.
예를 들어,
- 프로그램의 필요사항에 대해 이해하거나
- 언어의 표준을 따르거나
- 프로그램의 구조를 명확히 건설하고
- 예상 값들을 통해 프로그램을 체크하고
- 자동 테스트들을 사용하세요
여전히 버그를 가지고 있는 경우, 첫 번째로 코드 내부에 버그를 찾을 필요가 있습니다.
이를 위해, 당신은 디버거 혹은 로깅을 사용 할 수 있습니다.
혹은, 읽으면서 입력 값들에 대해 코드가 무엇을 수행하는지 이해하려고 수행하세요.
이러한 팁을 사용하세요.
그리고 대부분 그렇듯이, 버그가 많은 프로그램 작성을 피할 수 있으며, 이를 디버깅하는 데 시간을 줄입니다.
words to remember
obvious : 분명한
investigation : 조사, 수사
decompose : 분해하다, < -- > compose : 구성하다
as a consequence : 결과적으로
to locate : (to 단어가 ~위해서 라고 쓰인 경우) 찾기 위해서
clear-cut : 명확한
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Git' 카테고리의 다른 글
HTTP URL - HTTP URL 경로의 기초 (1) | 2024.05.15 |
---|---|
Files - 파일의 의미와 정의 (1) | 2024.05.13 |
Libraries - 라이브러리 (0) | 2024.05.10 |
Units of information - 정보의 단위 (0) | 2024.05.09 |
Parameters and options - 파라미터와 옵션 (0) | 2024.05.08 |