아직 설정되지 않은 구조의 JSON 파일이 있습니다. 그것은 복잡하게 자랄 수 있습니다. 함수가 데이터 구조를 어떻게 생각하는지 추적하고 싶습니다.함수가 특정 JSON 데이터 구조에 연결되었음을 보여주는 표준 방법은 무엇입니까?
기능이 특정 데이터 구조에 연결되었음을 보여주는 표준/현명한 방법은 무엇입니까?
지금, 나는 버전 번호를 유지하기 위해 JSON 파일에 _comment를 사용하고, 다음을 사용하는 각 기능에서 주석으로 해당 버전의 이름을 유지. 전체 예제.
travel.json
{
"_comment" : "version 1.0"
, "name" : "Tom Sawyer"
, "travel" : [{
"id" : "1"
, "location" : "San Francisco"
}, {
"id" : "2"
, "location" : "London"
}]
}
두 기능은 구문 분석 : travel.json
fs = require('fs');
function get_json() {
var file = __dirname + '/travel.json';
data = fs.readFileSync(file, 'utf8');
var json_obj = JSON.parse(data);
return(json_obj);
};
function get_location(json_obj) {
// "version 1.0"
var new_obj = {};
json_obj.content.forEach(function(item) {
new_obj[item.id] = item.location;
});
return (new_obj);
};
// Run
console.log('Locations: ', get_location(get_json()));
감사합니다.
이유를 설명해 주시겠습니까? 방어적인 프로그래밍처럼 보입니다. 다른 사람들이 의존하는 API를 작성한다면 JSON 대신 API의 URL을 버전화할 수 있습니다. yoururl/api/1/locations, yoururl/api/2/locations 등과 같은 것 – Pickels
모든 것이 약간의 방어력을 갖기 때문에 배우고 있습니다.; D 나는 당신의 제안을 좋아합니다! 더 우아하고 관리하기가 쉽습니다. 주변에 흩어져있는 작은 주석 줄이 없습니다. –
방어 프로그래밍과 조기 최적화는 악마입니다. – Pickels