Hai kiểu lập trình viên
Bài viết được sự cho phép của tác giả Huy Trần
Luôn có hai dạng lập trình viên, một dạng luôn nắm vững lý thuyết, dạng còn lại thì không.
Những người nắm vững lý thuyết thì luôn có năng suất làm việc cao hơn hẳn những người không học lý thuyết, vì không phải tốn thời gian để thử sai (trial and error), cũng không cần tốn thời gian tra cứu lại kiến thức.
Một ví dụ đơn giản về CSS, chúng ta có class .gift-image
có thuộc tính top = 10px
, và chúng ta muốn class này có thuộc tính top = 0
trên các thiết bị có màn hình nhỏ hơn 600px
:
.gift-box {
.gift-image {
&.openned {
position: absolute;
top: 10px;
...
}
}
@media (max-width: 600px) {
.gift-image {
top: 0;
}
}
}
Nhưng đoạn code trên sẽ không chạy, và trên mobile, class .gift-image
vẫn có thuộc tính top = 10px
.
Một frontend developer không nắm vững kiến thức sẽ fix vấn đề trên như sau:
@media (max-width: 600px) {
.gift-image {
top: 0 !important;
}
}
Hoặc tốn 10 phút để search Google với một vấn đề không liên quan: position absolute top not change in media query
.
Ngược lại, một frontend developer nắm vững kiến thức về CSS specificity [1] [2] sẽ fix vấn đề trên một cách dễ dàng mà không cần dùng tới !important
:
@media (max-width: 600px) {
.gift-image.openned {
top: 0;
}
}
Và thậm chí còn đạt tới cảnh giới code xong không cần test, sure đúng 100%, push lên thẳng master luôn, rồi để cho junior nó fix =)))
Ví dụ trên chưa có phần giải thích, để dành cho anh em đọc xong tự giải thích
Đọc thêm:
- Calculating a selector’s specificity, https://www.w3.org/TR/selectors-3/#specificity ↩
-
MDN CSS, Specificity, https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity ↩
Bài viết gốc được đăng tải tại thefullsnack.com
Có thể bạn quan tâm:
- Lập trình viên và hội chứng Tự kỷ
- 9 lỗi JavaScript các lập trình viên hay gặp
- Từ lập trình viên Junior, cùng mình trở thành 1 lập trình viên mid-level nhé
Truy cập ngay việc làm IT đãi ngộ tốt trên TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?