더북(TheBook)

코드 3-6 주어진 위치에 대한 NWS 예상 기온을 반환하는 함수

static double? getTemperature(double latitude, double longitude) {
    const string apiUrl = "https://api.weather.gov";
    string coordinates = $"{latitude},{longitude}";
    string requestPath = $"/points/{coordinates}/forecast/hourly";
    var client = new RestClient(apiUrl);
    var request = new RestRequest(requestPath);
    var response = client.Get(request);    → 요청을 NWS로 보낸다.
    if (response.StatusCode == 200) {    → 웹 요청의 성공 여부는 HTTP 상태 코드로 확인한다.
        dynamic obj = JObject.Parse(response.Content);    → 여기서 JSON을 분석한다.
        var period = obj.properties.periods[0];
        return (double)period.temperature;    → 와, 결과가 나왔다!
    }
    return null;
}

하드 코딩된 값의 가장 큰 문제는 사람이 이 숫자를 기억하지 못한다는 것이다. 월급 명세서에 0이 몇 개 찍혀 있는지 볼 때를 제외하고, 우리는 한 번에 숫자를 파악하는 데 어려움을 겪는다. 숫자를 어떤 것과 연관시켜 쉽게 기억하기가 어렵기 때문에 직접 타이핑하는 것보다 단순한 이름을 사용하는 것이 더 쉽다. 게다가 직접 입력할 경우 실수하기도 쉽다. 하드 코딩된 값의 두 번째 문제는 값이 바뀔 수도 있다는 것이다. 다른 모든 곳에서 동일한 값을 사용하는 경우 이 값을 변경하려면 이 숫자가 포함된 모든 곳을 변경해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.