한 번 본 놀라운 빌어 먹을 코드
개요
@rana_kualu 님의 기사에서 영감을 받아,
자신이 지금까지 보았던 중에서도 야바메의 빌어 먹을 코드에 대해 써 본다.
(원문)
· 지금까지 본 중 가장 더러운 소스 코드 - Qiita
h tps:// 퀵했다. 소 m/라나_쿠아ぅ/있어 MS/2f3C40642836c11f5 DC
빌어 먹을 코드
① typedef
재현 코드.ctypedef void coid;
typedef void boid;
키보드를 보면 [c] [v] [b]가 줄 지어 있다.
즉, 이것은 타입 미스를 형명의 재정의로 커버하고 있다고 하는 것.
유석에 이것이 프로그램이 아니라고 생각했다.
② 마이너스 1만
변수명은 우선 적당.
재현 코드.php$date0 = '20201122'; //画面からYYYYMMDDで文字列が来る
$date1 = $date0 -10000;
$year = substr($date1, 0, 4);
$month = substr($date1, 4, 2);
$day = substr($date1, 6, 2);
뭐야 이 1만을 빼고 있는 처리는···.
(당시의) 동료가 보수중의 구조로부터 이 코드 발견해, 함께 고민했다.
날짜계 처리에서는 1만은 깨끗하다. . .
다행히 쓴 배가 옆에 있었기 때문에 직접 들어 보았다.
1년 전 계산
과연!
다시 써라!
다행히 쓴 배가 고등학교에서 친구(동급생)였기 때문에, 일단 때렸다.
날짜 조작은 날짜 조작에 대한 함수가 제대로 있기 때문에 그것을 사용합시다.
(라고 말하는지, 나는 정적형 밭의 인간이므로, 동적형 변환의 사용법에도 무릎이 떨렸다.)
③ 타코이카 파닌쿠
재현 코드.javaboolean checkNumber (str) {
boolean isNumber = !NumberUtils.isNumber(str);
if(isNumber) {
//エラーメッセージ処理処理
}
return !isNumber;
}
츳코미커녕
① typedef
재현 코드.c
typedef void coid;
typedef void boid;
키보드를 보면 [c] [v] [b]가 줄 지어 있다.
즉, 이것은 타입 미스를 형명의 재정의로 커버하고 있다고 하는 것.
유석에 이것이 프로그램이 아니라고 생각했다.
② 마이너스 1만
변수명은 우선 적당.
재현 코드.php
$date0 = '20201122'; //画面からYYYYMMDDで文字列が来る
$date1 = $date0 -10000;
$year = substr($date1, 0, 4);
$month = substr($date1, 4, 2);
$day = substr($date1, 6, 2);
뭐야 이 1만을 빼고 있는 처리는···.
(당시의) 동료가 보수중의 구조로부터 이 코드 발견해, 함께 고민했다.
날짜계 처리에서는 1만은 깨끗하다. . .
다행히 쓴 배가 옆에 있었기 때문에 직접 들어 보았다.
1년 전 계산
과연!
다시 써라!
다행히 쓴 배가 고등학교에서 친구(동급생)였기 때문에, 일단 때렸다.
날짜 조작은 날짜 조작에 대한 함수가 제대로 있기 때문에 그것을 사용합시다.
(라고 말하는지, 나는 정적형 밭의 인간이므로, 동적형 변환의 사용법에도 무릎이 떨렸다.)
③ 타코이카 파닌쿠
재현 코드.java
boolean checkNumber (str) {
boolean isNumber = !NumberUtils.isNumber(str);
if(isNumber) {
//エラーメッセージ処理処理
}
return !isNumber;
}
츳코미커녕
논리값(진위값)이 엉망이다.
<기재 내용을 삭제했습니다>
논리값은 매우 혼란하기 쉽기 때문에, 취급에는 정말로 주의가 필요.
나는 긍정적인 쪽을 참, 부정적인 쪽을 거짓이 되도록 유의하고 있다.
④ (추기) include의 치카라!
@ fujitanozomu 님의 샘플 코드 을 보고 있어 어쩐지 생각해 냈으므로 추기합니다
재현 코드.c
int tbl[] = {
#include <list.csv>
};
이,,, 이런 사용법. . .
컴파일 프로세스를 이해하고 있기 때문에 그 황업! ?
라고 생각했습니다.
프로그래밍 언어에서 매크로 문화는 기본 악법이 되었군요.
(일부 기능은 후발 언어로도 남아 있습니다)
이상
빌어 먹을 코드를 쓰지 않도록 매일 정진하고 싶습니다.
추기① 2020/06/21(일)
생각보다 열람수가 많아 비비하고 있습니다.
조금 모서리가 서있는 부분은 비공개로 문제가 될 것 같기 때문에,
일부 기재를 지웠습니다.
추기② 2020/06/21(일)
④를 추가했습니다.
무심코 기억해 버린 것으로(쓴웃음)
추기③ 2020/06/22(일)
@ 사쿠로 씨로부터 정보를 받았습니다.
원래 include 될 것으로 예상되는 파일 형식이있는 것 같습니다.
· XPM - Wikipedia
htps : // 그럼.ぃきぺぢ아. 오 RG / 우키 / XPM
XPM은 그 자체가 C 언어 소스 코드의 몸을 이루고있는 것 같습니다.
Reference
이 문제에 관하여(한 번 본 놀라운 빌어 먹을 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/libraplanet/items/5fbe7d7d3b4f1906b4ad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
생각보다 열람수가 많아 비비하고 있습니다.
조금 모서리가 서있는 부분은 비공개로 문제가 될 것 같기 때문에,
일부 기재를 지웠습니다.
추기② 2020/06/21(일)
④를 추가했습니다.
무심코 기억해 버린 것으로(쓴웃음)
추기③ 2020/06/22(일)
@ 사쿠로 씨로부터 정보를 받았습니다.
원래 include 될 것으로 예상되는 파일 형식이있는 것 같습니다.
· XPM - Wikipedia
htps : // 그럼.ぃきぺぢ아. 오 RG / 우키 / XPM
XPM은 그 자체가 C 언어 소스 코드의 몸을 이루고있는 것 같습니다.
Reference
이 문제에 관하여(한 번 본 놀라운 빌어 먹을 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/libraplanet/items/5fbe7d7d3b4f1906b4ad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@ 사쿠로 씨로부터 정보를 받았습니다.
원래 include 될 것으로 예상되는 파일 형식이있는 것 같습니다.
· XPM - Wikipedia
htps : // 그럼.ぃきぺぢ아. 오 RG / 우키 / XPM
XPM은 그 자체가 C 언어 소스 코드의 몸을 이루고있는 것 같습니다.
Reference
이 문제에 관하여(한 번 본 놀라운 빌어 먹을 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/libraplanet/items/5fbe7d7d3b4f1906b4ad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)