CSS는 객관적으로 나쁜가요?
3593 단어 programmingwebdevcss
A: CSS is hard
B: It's not hard. You need to learn it
C posts Meme about how family guy struggles to open blinds
건설적인 대화가 아닙니다. 그래서 내 질문: CSS에 대해 객관적으로 나쁜 점을 보여주고 수정하려고 시도하는 방법이 있습니까? 이 질문은 객관성을 강조하므로 취향의 문제가 아니거나 사물을 정의하는 방법이나 예전에 일을 하던 방식에 의존해서는 안 됩니다.
이 기사에서 나는 객관적으로 나쁜 점을 지적하려고 노력합니다. 더 많은 아이디어를 댓글로 달아주세요.
정적으로 분석할 수 없음
개발자는 린터(예: ESlint), 유형 검사기(예: TyoeScript, Flow)를 사용하여 코드 품질을 자동화합니다. 적용되는 규칙이 다음에 따라 다르기 때문에 일반적으로 CSS에서는 불가능합니다.
!important
참고: 이를 해결하는 유일한 방법은 "CSS 재설정"을 사용하고 기본 스타일(예: 고유한 클래스 이름, 중첩 스타일 없음)만 사용하는 것입니다.
까다로운 학습 곡선
좋아, 나는 객관적으로 나쁘다고 말했고 지금은 "까다롭다"라는 단어를 사용합니다. 좀 기다려.
color
, font
등과 같은 선택자와 기본 속성으로 CSS 학습을 시작합니다. 세상에서 가장 쉬운 언어인 것 같습니다. 그리고 이 지식으로 꽤 멀리 갈 수 있습니다.그러나 어느 시점에서 무언가를 중앙에 배치하거나 flexbox의 요소를 오른쪽으로 당겨야 하는데 이에 대한 속성이 없습니다. 그것을하는 방법? 대부분의 개발자는 인터넷에서 방법을 검색하고 StackOverflow에서 스니펫을 복사하여 붙여넣습니다. 다음 번에 이 코드를 터치해야 할 때 한 곳에서 무언가를 변경하면 다른 곳에서 다른 곳이 손상되는 것을 발견하게 됩니다. 그리고 그것이 작동할 때까지 일을 바꾸면 파멸의 고리에 빠지게 됩니다.
또는 예상대로 작동하지 않는 이유를 배우기로 결정하고 상자 모델이 무엇인지, 레이아웃 알고리즘이 작동하는 방식 등과 같은 작은 문제 하나를 수정하기 위해 많은 개념을 즉시 배워야 합니다. 이러한 모든 구현 세부 사항은 실패하고 있습니다. 당신은 한 번에 그리고 이것은 너무 많이…
이것이 제가 까다로운 학습 곡선이라고 부르는 것입니다. 어느 순간 벽이 됩니다.
(이 부분이 객관적인지 아닌지는 본인이 판단)
디버그 도구 없음
오랫동안 유일한 디버그 도구는 다음과 같습니다.
* {
border: 1px solid red;
}
현재 브라우저 공급업체에서 구현한 훌륭한 도구가 많이 있습니다. 예를 들면 다음과 같습니다.
그래서 상황이 개선되었지만 내 요점은 이러한 개선 사항이 브라우저 공급업체에서 제공되었으며 CSS 사양에 포함되어 있지 않다는 것입니다(또는 내가 놓친 것입니까?). CSS를 설계한 사람들은 그것이 어떻게 디버깅될 것인지에 대해 결코 신경쓰지 않습니다.
또한보십시오
Reference
이 문제에 관하여(CSS는 객관적으로 나쁜가요?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/stereobooster/is-css-objectively-bad-1a9i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)