최첨단 Shitcode 원칙
12866 단어 programmingcodingwebdevjavascript
배지 받기
저장소가 최첨단 똥코드 원칙을 따르는 경우 다음과 같은 "최첨단 똥코드"배지를 사용할 수 있습니다.
[![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode)
원칙
💩 코드가 이미 난독화된 것처럼 변수 이름 지정
더 적은 키 입력, 더 많은 시간.
좋아요 👍🏻
let a = 42;
나쁜 👎🏻
let age = 42;
💩 변수/함수 이름 지정 스타일 혼합
차이를 축하하십시오.
좋아요 👍🏻
let wWidth = 640;
let w_height = 480;
나쁜 👎🏻
let windowWidth = 640;
let windowHeight = 480;
💩 댓글 절대 쓰지마세요
어쨌든 아무도 당신의 코드를 읽지 않을 것입니다.
좋아요 👍🏻
const cdr = 700;
나쁜 👎🏻
// Callback function debounce rate in milliseconds.
const callbackDebounceRate = 700;
💩 댓글은 항상 모국어로 작성하세요.
"댓글 없음"원칙을 위반한 경우 최소한 코드 작성에 사용하는 언어와 다른 언어로 댓글을 작성해 보십시오. 모국어가 영어인 경우 이 원칙을 위반할 수 있습니다.
좋아요 👍🏻
// Закриваємо модальне віконечко при виникненні помилки.
toggleModal(false);
나쁜 👎🏻
// Hide modal window on error.
toggleModal(false);
💩 서식 스타일을 최대한 혼합하십시오.
차이를 축하하십시오.
좋아요 👍🏻
let i = ['tomato', 'onion', 'mushrooms'];
let d = [ "ketchup", "mayonnaise" ];
나쁜 👎🏻
let ingredients = ['tomato', 'onion', 'mushrooms'];
let dressings = ['ketchup', 'mayonnaise'];
💩 가능한 한 많은 코드를 한 줄에 넣습니다.
좋아요 👍🏻
document.location.search.replace(/(^\?)/,'').split('&').reduce(function(o,n){n=n.split('=');o[n[0]]=n[1];return o},{})
나쁜 👎🏻
document.location.search
.replace(/(^\?)/, '')
.split('&')
.reduce((searchParams, keyValuePair) => {
keyValuePair = keyValuePair.split('=');
searchParams[keyValuePair[0]] = keyValuePair[1];
return searchParams;
},
{}
)
💩 조용히 실패
오류를 발견할 때마다 다른 사람이 오류에 대해 알 필요는 없습니다. 로그 없음, 오류 모달 없음, 진정.
좋아요 👍🏻
try {
// Something unpredictable.
} catch (error) {
// tss... 🤫
}
나쁜 👎🏻
try {
// Something unpredictable.
} catch (error) {
setErrorMessage(error.message);
// and/or
logError(error);
}
💩 의존성을 잠그지 마세요
제어되지 않은 방식으로 각각의 새 설치에 대한 종속성을 업데이트합니다. 과거에 집착하는 이유는 최첨단 라이브러리 버전을 사용합시다.
좋아요 👍🏻
$ ls -la
package.json
나쁜 👎🏻
$ ls -la
package.json
package-lock.json
💩 삼각형 원리
새처럼 되십시오 - 둥지, 둥지, 둥지.
좋아요 👍🏻
function someFunction() {
if (condition1) {
if (condition2) {
asyncFunction(params, (result) => {
if (result) {
for (;;) {
if (condition3) {
}
}
}
})
}
}
}
나쁜 👎🏻
function someFunction() {
if (!condition1 || !condition2) {
return;
}
const result = await asyncFunction(params);
if (!result) {
return;
}
for (;;) {
if (condition3) {
}
}
}
💩 코드를 테스트로 덮지 마세요
이는 중복되고 불필요한 작업량입니다.
Reference
이 문제에 관하여(최첨단 Shitcode 원칙), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/trekhleb/state-of-the-art-shitcode-principles-44c6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)