본문 바로가기

Tech

코드 정리 #7

자바스크립트는 C/C++/Java 와 비교할 때 치명적인 에러를 내지는 않는다.

그러므로 코딩 컨벤션이 느슨해도 실제 운영되는 프로그램 개발에 지장이 없는 편이다.

물론 이것 때문에 웹 프로그래밍의 진입 장벽이 낮기도 하지만 엄격한 로직 제작의 중요성이 떨어지는 것은 아니다.

 

이번에는 자바스크립트로 된 코드를 정리해 보겠다.

 

 

 

 

출처 : https://github.com/sdepold/connect-form/blob/master/lib/connect-form.js

 

 

다른 사람들은 어떨지 모르겠으나 저렇게 코딩된 코드는 나는 한참 살펴봐야 이해가 되었다.

이렇게 코딩해 보면 어떨까?

 

module.exports = function(options)
{
    options = options || {};
    
    return function(req, res, next)
    {
        if (formRequest(req))
        {
            var Callback = function(){},
                form = req.form = new formidable.IncomingForm;
                
            merge(form, options);
            form.complete = function(fn){ Callback = fn; };
            form.parse(req, function(){ Callback.apply(this, arguments); });
        }
        next();
    };
};

 

 

로직은 바뀐 것 없고 괄호, 공간만 바뀌고 Callback이라는 function이 대문자 시작이다.

function 을 변수와 똑같은 방법으로 접근이 가능하다고 하지만 변수와 function 은 구분이 되는 것이 좋은 것 같다.

띄어쓰기만 적절히 한 셈인데도 눈에 들어오는 것이 어떠한가?

별다른 알고리즘 수정이 없었지만 효과는 좋다.

 

위 코드를 전통적인 방식으로 한번 더 바꿔 보려고 했는데 효과적인 코드가 나오지 않는다.

전체 소스 구조를 검토해야 가능할 것 같다.

 

'Tech' 카테고리의 다른 글

코드 정리 #8  (0) 2018.07.29
[기초] OpenSSL 해쉬 함수 사용 예제  (0) 2018.07.29
코드 정리 #6  (0) 2018.07.28
코드 정리 #5  (0) 2018.07.28
코드 정리 #4  (0) 2018.07.28