본문 바로가기

function3

클린코드 3장 — 함수 의도를 분명히 표현하는 함수를 어떻게 만들 수 있을까? 함수에 어떤 속성을 부여해야 처음 읽는 사람이 프로그램 내부를 직관적으로 파악할 수 있을까? 작게 만들어라! • 함수를 만드는 첫번째 원칙 => 작게! • 함수를 만드는 두번째 원칙 => 더 작게! 무조건 작은 함수가 좋다. 각 함수가 명백하게 하나의 이야기를 표현해야 한다. 얼마나 짧아야 할까? public static String renderPageWithSetupsAndTeardowns(PageData pageData, boolean isSuite) throws Exception { boolean isTestPage = pageData.hasAttribute("Test"); if (isTestPage) { WikiPage testPage = p.. 2019. 6. 14.
[Javascript] Global 변수, Global 함수가 좋지 않은 이유 Javascript에서(다른 언어에서도 마찬가지지만), 변수나 함수를 전역 범위에서 선언하는 것은 두 가지 이유로 인해 권장하지 않는다. 1. Tight coupling2. Name collisions Tight Coupling Tight coupling이란, 각각의 코드들이 서로 지나치게 의존적인 상황이 되는 것을 말한다. coupling이란 두 아이템의 쌍이 함께하는 것을 뜻하는데, 즉 tight coupling은 서로 다른 두 묶음의 코드들이 서로 의존적이어서 어느 한 쪽에 의도치 않은 변화를 일으키는 상황을 뜻한다. var instructor = 'Richard'; function richardSaysHi() { console.log(`${instructor} says 'hi!'`);} 위의 코드.. 2018. 6. 26.
[Javascript] 기본 매개변수(Default Function Parameters) 아래의 코드를 보자.function greet(name, greeting) { name = (typeof name !== 'undefined') ? name : 'Student'; greeting = (typeof greeting !== 'undefined') ? greeting : 'Welcome'; return `${greeting} ${name}!`; } greet(); // Welcome Student! greet('James'); // Welcome James! greet('Richard', 'Howdy'); // Howdy Richard! greet()은 2개의 인자를 받아 각각 출력하는 간단한 함수이다. 다만 인자가 들어오지 않았거나 'undefined'인 경우에 대비해 각각 'Student.. 2018. 6. 12.