SlideShare a Scribd company logo
Bài thi giữa kỳ
Kiểm thử và đảm bảo chất lượng
Tìm hiểu về ESLint
Nguyễn Văn Doanh - 19810310643
Mục tiêu
1. 1. Khái niệm về ESLint
2. 2. Các chức năng của ESLint
3. 3. Cách sử dụng ESLint vào dự án
Nguyễn Văn Doanh - 19810310643
ESLint là gì ?
ESLint là một tiện ích linting Javascript mã nguồn mở ban đầu
được tạo bởi Nicholas C. Zakas vào tháng 6 năm 2013. Căn cứ
vào những quy chuẩn về cách viết code đã thống nhất từ trước
trong công ty hoặc dự án sẽ đặt ra quy chuẩn viết code. Hầu hết
các ngôn ngữ lập trình đều có code linter riêng và đôi khi các
linter được kết hợp vào trình biên dịch (complier)
Javascript là ngôn ngữ thuộc dạng loosely-typed, hay bị lỗi
trong quá trình viết code. Và do không có quá trình biên dịch mã
nên Javascript sẽ được chạy theo thứ tự để tìm ra lỗi cú pháp.
Công cụ như ESLint cho phép tìm ra lỗi ngay cả khi chúng chưa
được chạy
Nguyễn Văn Doanh - 19810310643
Lợi ích của
ESLint là gì ?
 Giúp tự động phát hiện, cảnh báo bug
trong quá trình viết code
 Tiết kiệm thời gian sửa lỗi
 Giúp code chuẩn hơn, dễ nhìn hơn
 Dễ sử dụng
Nguyễn Văn Doanh - 19810310643
ESLint
giúp xử
lý các
vấn đề
gì?
Vấn đề #1: Code chạy ngon lành lúc phát triển, còn khi
release thì gặp lỗi. Tại sao? Ví dụ: Giả sử code thiếu dấu
chấm phẩy, khi chạy chương trình trên trình duyệt thì vẫn
ổn. Nhưng lúc minified code để đóng gói sản phẩm thì mấy
công cụ minification lại không báo cho bạn biết dấu chấm
phẩy nào bị thiếu. Khi code đã minified thì trình duyệt
không chấp nhận lỗi nào, bao gồm cả lỗi mà nó vốn có bỏ
qua với code nguyên bản
Vấn đề #2: Xung đột phạm vi biến (scope). Ví dụ: Trong
code của bạn sẽ đặt rất nhiều biến như “id”, “name”….
Nhưng bỗng một ngày, đồng nghiệp trong nhóm vô tư
khai báo biến với var, thế là biến đó có nguy cơ ghi đè giá
trị lên biến cùng tên của bạn. Rồi lúc chương trình chạy
không biết lỗi này nằm ở đâu. Điều này sẽ xảy ra.
Nguyễn Văn Doanh - 19810310643
Cài đặt
và cấu
hình
ESLint
 ESLint có thể cài qua npm như sau:
npm init @eslint/config
Ngoài ra ESLint còn cho phép cài thêm các plugin để mở
rộng hoạt động của nó.Ví dụ plugin cho dự án ReactJs:
npm init eslint-plugin-react
Một linter hoạt động đúng khi chúng ta config nó đúng mà
thôi. Ta có thể cấu hình ESLint rất dễ dàng. Có 2 cách để
Config ESLint, một là comment trực tiếp trong file *.js, hai
là sử dụng file .eslintrc.*. Phần mở rộng có thể là js, json,
yaml, yml. Em sẽ cấu hình trên phần mở rộng là json.
Nguyễn Văn Doanh - 19810310643
File config cho ESLint có những thành phần chính như sau:
plugin: Đây là những plugin dung để mở rộng hoạt động của
ESLint.
extends:Đây là những config có sẵn được sử dụng. ESLintcó
cở chếgiúp chúng ta sử dụng lại những config có sẵn của
người khác.
Nguyễn Văn Doanh - 19810310643
rules: Đây chính là phần config những quy tắc
mà code cần phải tuân theo. Mỗi rules cần được
config 2 thông số: giá trị ứng với mức độ áp
dụng rules (off, warn, error hoặc 0, 1, 2).
parserOptions: Mặc định, ESLint kiểm tra cú
pháp của ES5, nếu sử dụng ES6 hoặc các phiên
bản mới hơn , chúng ta phải cấu hình bằng
parserOptions.
env: Đây là nơi cấu hình môi trường mà code có
thể chạy.
Nguyễn Văn Doanh - 19810310643
Áp dụn ESLintvào dự án
Sau khi đã config cho ESLint xong xuôi, công
việc còn lại của chúng ta là áp dụng vào dự án,
làm nó hoạt động đúng như chức năng của một
linter.
Nguyễn Văn Doanh - 19810310643
Trước hết cần thêm script vào pakage.json
Việc sử dụng script tùy thuộc vào project.
Sau khi có script rồi thì mỗi lần gọi ESLint,
chúng ta chỉ cần gọi lệnh
npx eslint yourfile.js
Nguyễn Văn Doanh - 19810310643
Kết luận
ESLint có rất nhiều ưu điểm, nhưng nếu
thông số kỹ thuật ESLint không tốt thì code
của bạn sẽ có một đống lỗi khó trấn áp bị
báo. Nhưng ESLint là một công cụ tuyệt vời
để hoàn toàn có thể giúp tất cả chúng ta
hoàn toàn có thể thống nhất được những
cách viết code của những thành viên khác
trong cùng 1 project.
Nguyễn Văn Doanh - 19810310643
Link video:
https://drive.google.com/file/d/1JPag0pJX
Khf8w2ovZaTUxF5m1ZQ-
K6z4/view?usp=sharing
Nguyễn Văn Doanh - 19810310643

More Related Content

Similar to Slide ESLint.pptx

Báo cáo system hacking
Báo cáo system hackingBáo cáo system hacking
Báo cáo system hacking
Huynh Khang
 
Slide báo cáo: System Hacking
Slide báo cáo: System HackingSlide báo cáo: System Hacking
Slide báo cáo: System Hacking
Huynh Khang
 
Reverse Engineering .NET - Advanced Patching, Playing with IL
Reverse Engineering .NET - Advanced Patching, Playing with ILReverse Engineering .NET - Advanced Patching, Playing with IL
Reverse Engineering .NET - Advanced Patching, Playing with IL
Levis Nickaster
 
Gt java080102005
Gt java080102005Gt java080102005
Gt java080102005
Toàn Trần Mạnh
 
Slide bao cao giua ki
Slide bao cao giua ki Slide bao cao giua ki
Slide bao cao giua ki thach28
 
Tùy biến Confuser
Tùy biến ConfuserTùy biến Confuser
Tùy biến Confuser
Levis Nickaster
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
vvpcdsptin
 
Phân tích Confuser 1.9.0.0 - Constant Protection - Bản dịch
Phân tích Confuser 1.9.0.0 - Constant Protection - Bản dịchPhân tích Confuser 1.9.0.0 - Constant Protection - Bản dịch
Phân tích Confuser 1.9.0.0 - Constant Protection - Bản dịch
Levis Nickaster
 
Tuan 3
Tuan 3Tuan 3
Test Driven development
Test Driven developmentTest Driven development
Test Driven development
MU VN
 
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaBao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
Âu Dương Bình
 
Pascal 2
Pascal 2Pascal 2
Pascal 2
Võ Tâm Long
 
Kịch bản demo phát hiện xâm nhập sử dụng snort ids
Kịch bản demo phát hiện xâm nhập sử dụng snort idsKịch bản demo phát hiện xâm nhập sử dụng snort ids
Kịch bản demo phát hiện xâm nhập sử dụng snort ids
Linh Hoang
 
Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1anhhaibi
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report Vietnamese
Hoàng Tuấn Lê
 
Bài giảng kỹ thuật lập trình hook
Bài giảng kỹ thuật lập trình hookBài giảng kỹ thuật lập trình hook
Bài giảng kỹ thuật lập trình hook
jackjohn45
 

Similar to Slide ESLint.pptx (20)

Báo cáo system hacking
Báo cáo system hackingBáo cáo system hacking
Báo cáo system hacking
 
Slide báo cáo: System Hacking
Slide báo cáo: System HackingSlide báo cáo: System Hacking
Slide báo cáo: System Hacking
 
Cong nghnet
Cong nghnetCong nghnet
Cong nghnet
 
Reverse Engineering .NET - Advanced Patching, Playing with IL
Reverse Engineering .NET - Advanced Patching, Playing with ILReverse Engineering .NET - Advanced Patching, Playing with IL
Reverse Engineering .NET - Advanced Patching, Playing with IL
 
Gt java080102005
Gt java080102005Gt java080102005
Gt java080102005
 
Slide bao cao giua ki
Slide bao cao giua ki Slide bao cao giua ki
Slide bao cao giua ki
 
Tùy biến Confuser
Tùy biến ConfuserTùy biến Confuser
Tùy biến Confuser
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
 
Phân tích Confuser 1.9.0.0 - Constant Protection - Bản dịch
Phân tích Confuser 1.9.0.0 - Constant Protection - Bản dịchPhân tích Confuser 1.9.0.0 - Constant Protection - Bản dịch
Phân tích Confuser 1.9.0.0 - Constant Protection - Bản dịch
 
Tuan 3
Tuan 3Tuan 3
Tuan 3
 
Vb6 16 (10)
Vb6 16 (10)Vb6 16 (10)
Vb6 16 (10)
 
04 de cuong
04 de cuong04 de cuong
04 de cuong
 
Test Driven development
Test Driven developmentTest Driven development
Test Driven development
 
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaBao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
 
Pascal 2
Pascal 2Pascal 2
Pascal 2
 
Kịch bản demo phát hiện xâm nhập sử dụng snort ids
Kịch bản demo phát hiện xâm nhập sử dụng snort idsKịch bản demo phát hiện xâm nhập sử dụng snort ids
Kịch bản demo phát hiện xâm nhập sử dụng snort ids
 
Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report Vietnamese
 
Bài giảng kỹ thuật lập trình hook
Bài giảng kỹ thuật lập trình hookBài giảng kỹ thuật lập trình hook
Bài giảng kỹ thuật lập trình hook
 

Recently uploaded

Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
lamluanvan.net Viết thuê luận văn
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
QucHHunhnh
 
Halloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary schoolHalloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary school
AnhPhm265031
 
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
Nguyen Thanh Tu Collection
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
Nguyen Thanh Tu Collection
 
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
NamNguynHi23
 
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdfTừ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Man_Ebook
 
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thươngPLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
hieutrinhvan27052005
 
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủYHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
duyanh05052004
 
trắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxdddddddddddddddddtrắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxddddddddddddddddd
my21xn0084
 
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
Nguyen Thanh Tu Collection
 
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
khanhthy3000
 
bài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docxbài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docx
HiYnThTh
 
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docxBÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
HngL891608
 
Smartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024juneSmartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024june
SmartBiz
 
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdfDANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
thanhluan21
 
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docxVăn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
metamngoc123
 

Recently uploaded (17)

Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
 
Halloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary schoolHalloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary school
 
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
 
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
[NBV]-CHUYÊN ĐỀ 3. GTLN-GTNN CỦA HÀM SỐ (CÓ ĐÁP ÁN CHI TIẾT).pdf
 
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdfTừ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
 
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thươngPLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
 
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủYHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
YHocData.com-bộ-câu-hỏi-mô-phôi.pdf đầy đủ
 
trắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxdddddddddddddddddtrắc nhiệm ký sinh.docxddddddddddddddddd
trắc nhiệm ký sinh.docxddddddddddddddddd
 
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
BÀI TẬP DẠY THÊM HÓA HỌC LỚP 12 - CẢ NĂM - THEO FORM THI MỚI BGD 2025 (DÙNG C...
 
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
 
bài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docxbài dự thi chính luận 2024 đảng chọn lọc.docx
bài dự thi chính luận 2024 đảng chọn lọc.docx
 
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docxBÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
BÁO CÁO CUỐI KỲ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - NHÓM 7.docx
 
Smartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024juneSmartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024june
 
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdfDANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
 
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docxVăn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
 

Slide ESLint.pptx

  • 1. Bài thi giữa kỳ Kiểm thử và đảm bảo chất lượng Tìm hiểu về ESLint Nguyễn Văn Doanh - 19810310643
  • 2. Mục tiêu 1. 1. Khái niệm về ESLint 2. 2. Các chức năng của ESLint 3. 3. Cách sử dụng ESLint vào dự án Nguyễn Văn Doanh - 19810310643
  • 3. ESLint là gì ? ESLint là một tiện ích linting Javascript mã nguồn mở ban đầu được tạo bởi Nicholas C. Zakas vào tháng 6 năm 2013. Căn cứ vào những quy chuẩn về cách viết code đã thống nhất từ trước trong công ty hoặc dự án sẽ đặt ra quy chuẩn viết code. Hầu hết các ngôn ngữ lập trình đều có code linter riêng và đôi khi các linter được kết hợp vào trình biên dịch (complier) Javascript là ngôn ngữ thuộc dạng loosely-typed, hay bị lỗi trong quá trình viết code. Và do không có quá trình biên dịch mã nên Javascript sẽ được chạy theo thứ tự để tìm ra lỗi cú pháp. Công cụ như ESLint cho phép tìm ra lỗi ngay cả khi chúng chưa được chạy Nguyễn Văn Doanh - 19810310643
  • 4. Lợi ích của ESLint là gì ?  Giúp tự động phát hiện, cảnh báo bug trong quá trình viết code  Tiết kiệm thời gian sửa lỗi  Giúp code chuẩn hơn, dễ nhìn hơn  Dễ sử dụng Nguyễn Văn Doanh - 19810310643
  • 5. ESLint giúp xử lý các vấn đề gì? Vấn đề #1: Code chạy ngon lành lúc phát triển, còn khi release thì gặp lỗi. Tại sao? Ví dụ: Giả sử code thiếu dấu chấm phẩy, khi chạy chương trình trên trình duyệt thì vẫn ổn. Nhưng lúc minified code để đóng gói sản phẩm thì mấy công cụ minification lại không báo cho bạn biết dấu chấm phẩy nào bị thiếu. Khi code đã minified thì trình duyệt không chấp nhận lỗi nào, bao gồm cả lỗi mà nó vốn có bỏ qua với code nguyên bản Vấn đề #2: Xung đột phạm vi biến (scope). Ví dụ: Trong code của bạn sẽ đặt rất nhiều biến như “id”, “name”…. Nhưng bỗng một ngày, đồng nghiệp trong nhóm vô tư khai báo biến với var, thế là biến đó có nguy cơ ghi đè giá trị lên biến cùng tên của bạn. Rồi lúc chương trình chạy không biết lỗi này nằm ở đâu. Điều này sẽ xảy ra. Nguyễn Văn Doanh - 19810310643
  • 6. Cài đặt và cấu hình ESLint  ESLint có thể cài qua npm như sau: npm init @eslint/config Ngoài ra ESLint còn cho phép cài thêm các plugin để mở rộng hoạt động của nó.Ví dụ plugin cho dự án ReactJs: npm init eslint-plugin-react Một linter hoạt động đúng khi chúng ta config nó đúng mà thôi. Ta có thể cấu hình ESLint rất dễ dàng. Có 2 cách để Config ESLint, một là comment trực tiếp trong file *.js, hai là sử dụng file .eslintrc.*. Phần mở rộng có thể là js, json, yaml, yml. Em sẽ cấu hình trên phần mở rộng là json. Nguyễn Văn Doanh - 19810310643
  • 7. File config cho ESLint có những thành phần chính như sau: plugin: Đây là những plugin dung để mở rộng hoạt động của ESLint. extends:Đây là những config có sẵn được sử dụng. ESLintcó cở chếgiúp chúng ta sử dụng lại những config có sẵn của người khác. Nguyễn Văn Doanh - 19810310643
  • 8. rules: Đây chính là phần config những quy tắc mà code cần phải tuân theo. Mỗi rules cần được config 2 thông số: giá trị ứng với mức độ áp dụng rules (off, warn, error hoặc 0, 1, 2). parserOptions: Mặc định, ESLint kiểm tra cú pháp của ES5, nếu sử dụng ES6 hoặc các phiên bản mới hơn , chúng ta phải cấu hình bằng parserOptions. env: Đây là nơi cấu hình môi trường mà code có thể chạy. Nguyễn Văn Doanh - 19810310643
  • 9. Áp dụn ESLintvào dự án Sau khi đã config cho ESLint xong xuôi, công việc còn lại của chúng ta là áp dụng vào dự án, làm nó hoạt động đúng như chức năng của một linter. Nguyễn Văn Doanh - 19810310643
  • 10. Trước hết cần thêm script vào pakage.json Việc sử dụng script tùy thuộc vào project. Sau khi có script rồi thì mỗi lần gọi ESLint, chúng ta chỉ cần gọi lệnh npx eslint yourfile.js Nguyễn Văn Doanh - 19810310643
  • 11. Kết luận ESLint có rất nhiều ưu điểm, nhưng nếu thông số kỹ thuật ESLint không tốt thì code của bạn sẽ có một đống lỗi khó trấn áp bị báo. Nhưng ESLint là một công cụ tuyệt vời để hoàn toàn có thể giúp tất cả chúng ta hoàn toàn có thể thống nhất được những cách viết code của những thành viên khác trong cùng 1 project. Nguyễn Văn Doanh - 19810310643