어떤 프로그래머도 다루기를 좋아하지 않는 5가지 엣지 케이스

5658 단어 jokeswebdev
인생은 보통 단순하고 우리의 영리한 작은 프로그램은 주어진 대부분의 일을 처리할 수 있습니다... 하지만 때로는 그것만으로는 충분하지 않습니다.

여기서 Edge 사례가 발생합니다. 코드의 자연스러운 흐름을 방해하는 작은 일회성 문제를 처리해야 합니다.

다음은 소프트웨어 엔지니어로서 처리하는 것을 좋아하지 않는 5가지 극단적인 경우입니다.

#5 복수 표현



하나의 항목이 있을 때 사용자 "항목"을 표시합니다. 그런 다음 1 또는 0보다 크면 "항목"을 표시합니다.

우리 모두 전에 괄호로 "항목(들)"을 쓰는 죄를 지은 적이 있습니다, 그렇죠? 🤨 하지만 때로는 버그를 수정해야 합니다.

저번에 작성해야 했던 이 괴물을 보세요. 자랑스럽지는 않지만 작동합니다.

message = f"You have {len(items)} item{'s' if len(items) > 1 or len(items) == 0 else ''}"


#4 목록의 마지막 요소 스타일 지정



React 또는 Vue를 코딩하는 경우 아마도 이 문제에 부딪쳤을 것입니다. 다음과 같은 항목 목록을 렌더링한다고 상상해 보십시오.

{
    items.map(stuff =>
        <SuperCoolItem key=stuff.key data=stuff style={{marginBottom: 5}} />
    )
}




그 하단 여백은 잘 작동합니다 ... 마지막 요소까지. 그래서 우리는 무엇을 해야 합니까?

마지막 요소인지 확인한 다음 여백을 0으로 설정합니다. 이를 수행하는 더 좋은 방법, 아마도 멋진 CSS 트릭을 알고 있다면 그 방법에 대한 의견을 남겨주세요! 찾아봤지만 다른 작업으로 넘어갔습니다 ☕

{
    items.map((stuff, index) =>
        <SuperCoolItem key=stuff.key data=stuff style={{
            marginBottom: i == (items.length-1) ? 0 : 5
        }} />
    )
}


#3 널



이런! 사용 중인 개체가 실제로 null인지 확인하는 것을 잊었습니까? 그래, 나도! 그리고 프로덕션에서...

이 시점에서 TypeScript를 작성하지 않을 때는 이런 일이 일어나기를 기대합니다.

JavaScript:
Uncaught TypeError: criticalBusinessObject is undefined

Python:
AttributeError: 'NoneType' object has no attribute 'id'


#2 시간대



오, 크론 작업이 UTC 시간대로 설정되었나요? 진짜? 모든 고객은 태평양 시간에 있습니다, Abdi! 아무도 사용하지 않는 마법의 시간대와 혼동하지 마세요! (아프리카와 유럽 독자들에게 미안합니다). 일부 시간대가 30분 💀 차이가 난다는 사실에 관여하지도 않을 것입니다.

이것이 제가 이 글을 쓴 진짜 이유에 대한 단서입니다. 1년에 두번씩 등장하는 가장 큰, 가장 고통스러운 이슈…

#1 일광 절약 시간제



아마도 인간의 오만함이 발명한 가장 파괴적인 구조일 것입니다.

내 경력에서 가장 무서운 순간 중 하나입니다. 나는 아름다운 이른 봄 아침에 라떼를 홀짝이고 있는데 이런 소리가 들립니다.

All our customers got their text messages 1 hour late! I want every engineer in the meeting room now!



— 스타트업 CTO

미국에서는 48개 주에서만 이를 준수합니다. 그러면 하와이와 애리조나 대부분이 떠납니다(Navajo Nation은 일광 절약 시간제를 준수합니다). 또한 세계의 절반 정도의 국가만이 이를 관찰하며 언제 발생해야 하는지에 대해서도 동의하지 않습니다!

읽어주셔서 감사합니다 😊



그것들은 내 탑 5입니다! 당신은 무엇입니까? 아래에 의견을 남기고 우리가 싫어하는 것에 대해 이야기합시다 😼

동료 미국인 여러분, 올해 서머타임이 11월 6일이고 시계가 뒤로 돌아가고 있다는 사실을 잊지 마십시오. "Spring forward, Fall back"— 기억하기 좋은 방법입니다.

사진 제공: Elisa Ventur on Unsplash

좋은 웹페이지 즐겨찾기