HomeOur Team
Dart command-line tools có thể bạn chưa biết (P1)

Dart command-line tools có thể bạn chưa biết (P1)

By hai.nguyen1
Published in Tips / Tricks
November 11, 2022
4 min read

Là một lập trình viên Flutter, chắc hẳn bạn đã nghe qua thuật ngữ dart command-line tool và sử dụng chúng trong một số trường hợp nhất định mà bạn gặp phải khi làm dự án. Dù đã sử dụng nhiều lần nhưng bạn đã thật sự hiểu rõ về chúng hay chưa? Hãy cùng mình tìm hiểu ở series ”Dart command-line tools có thể bạn chưa biết” dưới đây nhé!

Sơ lược

Dart command-line tool sử dụng giao diện dòng lệnh và là một công cụ hỗ trợ cho ngôn ngữ lập trình Dart thực hiện các tác vụ như: Tạo project, biên dịch,…

dart analyze

dart_analyze.png

  • Thực hiện phân tích tệp, thư mục bất kỳ (dart analyze [<DIRECTORY> | <DART_FILE>]) hay toàn bộ project (dart analyze .) phụ thuộc vào lựa chọn của bạn.
  • Hệ thống tìm kiếm lỗi hay các cảnh báo như: format code, những biến không sử dụng,… Và thông báo cho mọi người biết vị trí cụ thể của lỗi hay các cảnh báo đó để mọi người có thể sửa lại một cách dễ dàng.

dart create

  • Thực thi câu lệnh dart create, thư mục chứa các tệp của project sẽ được khởi tạo; sau đó cài đặt các tài nguyên cần thiết hoặc không (nếu bạn sử dụng cờ —no-pub).
  • Một số mẫu project có thể được tạo ra từ dart create: dart_create_templates.png
    * **console**: Mặc định khi tạo ra một project sẽ là ứng dụng giao diện dòng lệnh.
    * **package**: Nơi chứa các thư viện mà bạn muốn chia sẻ cho dự án bất kỳ.
    * **server-shelf**: Server-side lập trình bằng ngôn ngữ Dart, sử dụng thư viện shelf.
    * **web**: Ứng dụng web sử dụng thư viện của Dart làm nòng cốt.
  • Nếu tại vị trí hiện tại đã tồn tại một thư mục trùng tên với project bạn muốn tạo, bạn có thể sử dụng cờ —force để tạo và ghi đè các file bên trong thư mục đó.

dart doc

dart_doc.png

  • Cá nhân mình thấy câu lệnh này khá thú vị, nó giúp bạn tạo ra được một thư mục là doc. Trong đó chứa các file html mô tả cụ thể từng thuộc tính, giá trị mà bạn sử dụng ở từng file. Từ đó các lập trình viên khác có thể hiểu rõ hơn về project thông qua thư mục này mà không cần phải đọc từng dòng code.
  • Bạn cũng có thể thêm mô tả cho tài liệu bằng cách thêm các comment.
  • Tài liệu sau khi được tạo ra từ dart doc: dart_doc_2.png

dart fix

  • Thực hiện tìm và sửa hai loại vấn đề sau:
    • Các cảnh báo mà dart analyze đã xác định.
    • Các API đã lỗi thời mà bạn sử dụng trong dự án khi cập nhật phiên bản mới cho Dart và Flutter SDK.
  • Để xem trước các thay đổi được đề xuất mà không áp dụng chúng, sử dụng cờ —dry-run: dart_fix_dry.png
  • Để áp dụng các thay đổi được đề xuất, sử dụng cờ —apply: dart_fix_apply.png
  • Tuy nhiên, dart fix cũng chỉ có thể hoạt động ở một số trường hợp nhất định. Những vấn đề khác thì bạn phải cài đặt ở file analysis_options.yaml, Lints là một ví dụ.

dart format

  • Đây cũng là một câu lệnh khá hay, giúp ta sửa lại định dạng code sao cho đúng với quy định và định dạng của Dart một cách nhanh chóng mà không cần phải vào từng file để thay đổi.
  • Định dạng toàn bộ project: dart_format.png
  • Trong trường hợp bạn muốn định dạng riêng lẻ từng file hoặc nhiều file thay vì toàn bộ project thì có thể trỏ đến trực tiếp những file đó và ngăn cách chúng bằng khoảng trắng, ví dụ: dart_format_2.png
  • Mặc định thì dart format sẽ ghi đè file, nếu bạn không muốn chuyện đó xảy ra thì có thể sử dụng cờ —output hoặc -o. Sử dụng -o show hoặc -o json để xem nội dung của những file sẽ thay đổi; hoặc -o none nếu bạn chỉ muốn xem danh sách các file sẽ thay đổi. dart_format_3.png
  • Cuối cùng, cờ --set-exit-if-changed thường được sử dụng cùng với continuous integration (CI) để chỉ ra việc kiểm tra sẽ không thành công.

dart run

  • Mặc định câu lệnh sẽ trỏ đến thư mục bin của package, nhưng bạn cũng có thể chạy một chương trình bất kỳ nằm ngoài thư mục bin bằng cách trỏ đến đường dẫn của nó.
  • Hỗ trợ khởi chạy chương trình Dart nằm trong một tệp, package hiện tại hoặc một trong những dependency của package hiện tại bằng dòng lệnh.
Trong package hiện tại
  • Khi bạn ở trong thư mục cha của package sport, câu lệnh dart run sẽ mặc định chạy chương trình bin/sport.dart.
  • Trong trường hợp không tồn tại chương trình nào có tên giống với package, bạn có thể chạy chương trình bạn mong muốn bằng cách thêm mẫu sau :(program name)dart_run_3.png
Trong các dependency của package hiện tại
  • Để chạy một chương trình bất kỳ, sử dụng dart run (package name):(program name). Ví dụ bạn muốn chạy chương trình bin/football.dart ở trong package sport, sử dụng câu lệnh như sau: dart_run.png
  • Nhưng nếu tên chương trình giống với tên package, bạn có thể rút ngắn câu lệnh bằng cách lược bỏ :(program name) ở câu lệnh trên: dart_run_2.png Câu lệnh này sẽ chạy chương trình bin/sport.dart trong package sport.

dart test

  • dart test chạy các thử nghiệm dựa trên thư viện test và các file trong thư mục test của project.
  • Sử dụng lệnh dart test để chạy toàn bộ các thử nghiệm nằm trong thư mục test. Nếu bạn muốn chạy một thử nghiệm bất kỳ, hãy trỏ đến đường dẫn của chúng, ví dụ: dart_test_2.png
  • Có một cách để chạy các thử nghiệm con ở bên trong file test, đó là sử dụng cờ —name (-n), —tags (-t) hoặc —exclude-tags (-x) kết hợp với một chuỗi bất kỳ sao cho khớp với đoạn mà bạn đang muốn chạy thử nghiệm. Và nếu bạn sử dụng các cờ này nhiều lần trên cùng một dòng lệnh, thì chỉ có các thử nghiệm phù hợp với tất cả điều kiện trên mới được khởi chạy. Dưới đây là một ví dụ, chỉ có 2 đoạn thử nghiệm được gọi ứng với Stringprint mà bạn định nghĩa ở trên dòng lệnh: dart_test_3.png
  • dart test còn rất nhiều cờ thú vị khác khi khởi chạy thử nghiệm. Để có thể hiểu hơn về test trong project Dart, hãy truy cập test package để biết thêm chi tiết.

Dart command-line tools còn hai phần quan trọng và hay ho nữa là dart compiledart pub nhưng do bài viết này đã khá dài nên hẹn gặp lại bạn trong phần 2 của series ”Dart command-line tools có thể bạn chưa biết” nhé!!

Phần 2: Dart command-line tools có thể bạn chưa biết (P2)

Tags

Dart command-line

Share

hai.nguyen1

hai.nguyen1

Developer

Expertise

Related Posts

Dart command-line tools có thể bạn chưa biết (P2)
Tips / Tricks
Dart command-line tools có thể bạn chưa biết (P2)
November 15, 2022
4 min
© 2023, All Rights Reserved.
Powered By

Quick Links

HomeOur Team

Social Media