Allman Style 썸네일형 리스트형 코드 정리 #8 이번 코드는 비동기 http 라이브러리에 들어가는 문자열 trim 코드부분이다. 로직은 잘 만들어진 편인데 코딩된 화면이 깔끔하지 않다. 한번 손을 봐보겠다. 출처 : https://github.com/AsyncHttpClient/async-http-client/blob/master/client/src/main/java/org/asynchttpclient/util/HttpUtils.java private static String extractContentTypeAttribute(String contentType, String attribute) { if (contentType == null)return null; for (int i = 0; i < contentType.length(); i++) { if.. 더보기 코드 정리 #7 자바스크립트는 C/C++/Java 와 비교할 때 치명적인 에러를 내지는 않는다. 그러므로 코딩 컨벤션이 느슨해도 실제 운영되는 프로그램 개발에 지장이 없는 편이다. 물론 이것 때문에 웹 프로그래밍의 진입 장벽이 낮기도 하지만 엄격한 로직 제작의 중요성이 떨어지는 것은 아니다. 이번에는 자바스크립트로 된 코드를 정리해 보겠다. 출처 : https://github.com/sdepold/connect-form/blob/master/lib/connect-form.js 다른 사람들은 어떨지 모르겠으나 저렇게 코딩된 코드는 나는 한참 살펴봐야 이해가 되었다. 이렇게 코딩해 보면 어떨까? module.exports = function(options) { options = options || {}; return fun.. 더보기 코드 정리 #6 애용하는 에디터 노트패드++의 소스가 깃에 있어서 한번 들어가 보았다. 그중에 특정 문자열이 있는지 찾는 코드가 있는데 이것을 최적화 해보겠다. 출처 : https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/src/EncodingMapper.cpp 1차 최적화는 다음과 같다. bool IsInListA(const char *token, const char *list) { char word[64] = {0}; size_t i = 0; size_t j = 0; if ((!token) || (!list))return false; for (size_t len = strlen(list); i 더보기 코드 정리 #5 애용하고 좋아하는 Dlib 라는 라이브러리가 있다. 이런 대단한 라이브러리를 만들어 공개한 저작자에게 경의를 표한다. 일단 예제 소스를 한번 보자. 출처 : https://github.com/davisking/dlib/blob/master/examples/image_ex.cpp 특정 부분을 발췌해 보겠다. 오... Allman Style의 코딩이다. 여러모로 마음에 드는 코드인데 한가지 아쉬운 점이 있다. 바로 변수명과 함수명의 스타일이 동일하다는 것이다! 언제나 직관적인 코드 이해를 추구하는 나로서는 정말 아쉬운 스타일이다. 실무에서 dlib 잘 쓰고 있다. 저작자에게 감사를 표한다. 더보기 코드 정리 #4 유명한 jsoncpp 라이브러리의 소스를 보다가 생각나는 점을 포스트한다. 출처 : https://github.com/open-source-parsers/jsoncpp/blob/master/src/jsontestrunner/main.cpp 이렇게 수정하면 어떨까? int main(int argc, const char* argv[]) { Options opts; int exitCode; try { exitCode = parseCommandLine(argc, argv, &opts); if (exitCode != 0) printf("Failed to parse command-line."); else exitCode = runTest(); } catch (const std::exception& e) { prin.. 더보기 이전 1 다음