Developer Console 연습
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 일반적인 데이터 형식을 나열합니다.
- 변수를 선언합니다.
- 디버그 문을 구성하고 그 결과를 이해합니다.
- 구문을 정의합니다.
지난 유닛에서는 코드, 의사 코드 및 코드 주석에 대해 알아보았습니다. 코드를 읽고 쓰는 방법을 알고 싶다면 무엇보다 직접 해 보는 것이 가장 좋습니다. 그럼 시작해 보겠습니다.
변수
변수는 데이터가 포함된 컨테이너라고 생각하면 됩니다. 무엇이 포함되어 있는지 설명하는 이름을 지정할 수 있습니다. 실제로 고유한 이름을 사용하여 레이블을 지정하고 컨테이너에 데이터를 추가할 수 있습니다. 원하는 모든 데이터가 컨테이너에 포함되면 여러분이 필요로 할 때까지 보관할 수 있습니다.
변수는 임시 필드와도 유사합니다. 필드와 마찬가지로 각 변수에는 이름과 데이터 형식이 있습니다. 코드가 실행될 때 변수 이름은 코드를 해석하는 시스템인 컴파일러에 있어 중요한 항목이 아닙니다. 그러나 유의미한 변수 이름을 지정해 두면, 개발자가 코드를 업데이트하거나 수정하려고 할 때 각 변수의 용도를 더 빠르게 이해할 수 있습니다. 다음 예시를 고려해 보세요.
f라는 이름이 붙은 변수의 용도는 명확하지 않습니다. 모범 사례는 명확하면서도 용도를 설명하는 변수 이름을 선택하는 것입니다. 예를 들면 다음과 같습니다.
이름은 변수가 무엇을 나타내는지를 설명하는 한편, 데이터 형식은 변수가 포함할 수 있는 내용을 정의합니다.
일반 데이터 형식
데이터 형식 | 설명 및 예시 |
---|---|
정수 | 소수점 자리 수가 없는 양수 또는 음수. Integer num = 12;
|
소수점 | 소수점 자리 수가 있는 양수 또는 음수. Decimal num = 12.22222;
|
문자열 | 작은따옴표로 묶인 여러 문자. 여기에는 하나의 문자부터 여러 문장까지 어떤 텍스트든 포함될 수 있습니다. String whatAmI = 'A String';
|
부울 | 일반적으로 참 또는 거짓으로 나뉩니다. Apex에서는 null (empty) 또한 유효한 값입니다. 부울은 확인란과 함께 사용되는 경우가 많습니다. Boolean doSomething = False;
|
ID(Salesforce ID) | 유효한 18자로 구성된 Salesforce 레코드 ID. Id contactId = '00300000003T2PGAA0';
|
Apex는 강타입 언어입니다. 따라서 변수를 선언(생성)할 때마다 데이터 형식, 이름, 그리고 선택적으로는 최초 값까지 설정하게 됩니다.
이 예시에서 Integer는 데이터 형식, i는 변수 이름, 2는 변수의 초기 값입니다. 변수 이름은 원하는 대로 지정할 수 있습니다. 모범 사례는 다른 개발자가 코드를 쉽게 읽고 이해할 수 있도록 변수의 용도를 명확하게 전달하는 이름을 사용하는 것입니다.
변수를 초기화(초기 값 할당)할 때 할당하는 값은 변수의 데이터 형식과 일치해야 합니다. 변수 선언문 내에서 값을 할당하지 않도록 선택하면 변수 값은 null이 됩니다.
변수를 선언해 보겠습니다.
- Developer Console에서 Debug(디버그) | Open Execute Anonymous Window(익명 실행 창 열기)를 클릭합니다.
- 이 코드를 복사하여 Enter Apex Code(Apex 코드 입력) 창에 붙여 넣습니다.
System.debug
는 디버그 로그에 괄호의 내용을 표시합니다. -
Open log(로그 열기) 확인란을 선택하고 Execute(실행)를 클릭합니다.
그러면 Execution Log(실행 로그)가 열리며 코드 실행 결과가 표시됩니다.
- 창 아래에 있는 Debug Only(디버그만) 확인란을 선택합니다.
이제 Details(세부 사항) 열에는
System.debug
출력만 표시됩니다.- 실행된 코드에서
System.debug
가 있는 줄 번호는 2입니다. - 로깅 수준은 DEBUG입니다.
- numberOfSpoons 변수의 값은 null입니다.
- 실행된 코드에서
System.debug
작동하지 않는 코드를 작성한다고 상상해 보세요. 주변에 물어볼 사람은 없어도, 노트북을 창밖으로 던져 버리기 전에 Google 검색 한 번이면 충분합니다. 누구에게나 일어날 수 있는 일입니다. System.debug
로 문제를 해결하세요.
특정 변수 값이 변경될 때마다 알림을 받을 수 있다면 좋지 않을까요? System.debug 문은 이러한 유형의 알림을 제공합니다. 개발자는 System.debug를 사용하여 코드의 문제 지점을 정확히 찾아내기 위해 변화하는 값을 모니터링합니다.
- Developer Console에서 Debug(디버그) | Open Execute Anonymous Window(익명 실행 창 열기)를 클릭합니다.
- 이 코드를 복사하고 Enter Apex Code(Apex 코드 입력) 창의 기존 코드를 이 코드로 바꿉니다.
- Open log(로그 열기) 확인란을 선택하고 Execute(실행)를 클릭합니다. 그러면 Execution Log(실행 로그)가 열리며 코드 실행 결과가 표시됩니다.
- 창 아래에 있는 Debug Only(디버그만) 확인란을 선택합니다. 흥미로운 점을 찾으셨나요? 줄 2와 줄 5는 동일한 코드 줄이지만 로그에서 다른 값을 생성합니다. 이는 변수 값이 언제든지 바뀔 수 있기 때문입니다.
여기서는 코드의 두 지점에 numberOfSpoons가 있는 간단한 예시로 작업하고 있습니다. 50줄의 코드를 실행하고 5개의 변수를 모니터링하는 경우, 로그 세부 정보에서 각 변수의 이름과 해당 값을 확인하려고 할 수 있습니다.
개발자는 연결을 사용하여 리터럴 텍스트와 변수 값을 + 기호로 연결합니다. 디버그 문에서 정보를 연결하면 디버그 로그를 더 쉽게 읽고 이해할 수 있습니다.
두 개의 디버그 문에 numberOfSpoons 변수의 이름과 해당 값을 포함해 보겠습니다.
- Developer Console에서 Debug(디버그) | Open Execute Anonymous Window(익명 실행 창 열기)를 클릭합니다.
- 이 코드를 복사하여 Enter Apex Code(Apex 코드 입력) 창에 붙여 넣습니다.
- Open log(로그 열기) 확인란을 선택하고 Execute(실행)를 클릭합니다. 그러면 Execution Log(실행 로그)가 열리며 코드 실행 결과가 표시됩니다.
- 창 아래에 있는 Debug Only(디버그만) 확인란을 선택합니다.
이제 null과 1이라는 두 값이 numberOfSpoons 변수의 값임을 확실히 알 수 있습니다.
구문
코드 구조화에 대한 이 코드 샘플에서 무엇을 발견하셨나요? 텍스트와 구두점을 배열하여 프로그래밍 언어를 만드는 방식을 구문이라고 합니다. 다음은 Apex 코드에 대한 몇 가지 구문 규칙입니다.
- 여러분이 가장 먼저 눈치채셨을 수도 있는 점은 Apex 문이 세미콜론으로 끝난다는 것입니다. 세미콜론은 마침표가 일반적인 문장을 끝내는 것과 같은 방식으로 Apex 문을 끝냅니다. 문 끝에 세미콜론을 입력하지 않은 경우 오류 메시지가 표시됩니다.
- Apex 문자열은 작은따옴표를 사용하여 리터럴 텍스트를 주변의 다른 코드와 구분합니다. 숫자와 부울(참 또는 거짓) 값에는 따옴표가 필요하지 않습니다.
지금까지 변수, 데이터 형식 및 구문이 무엇인지 알아보았습니다. 변수를 선언하고 변수에 값을 할당하는 방법을 파악했습니다. 또한 직접 디버그 문을 작성하고 디버그 로그에서 검토하는 연습도 해 보았습니다. 잘하셨습니다!