JavaRush /Blog Java /Random-VI /Nghỉ giải lao #70. Cách viết mã Java nhanh hơn với Lombok...

Nghỉ giải lao #70. Cách viết mã Java nhanh hơn với Lombok. Danh sách đào tạo lập trình viên mới bắt đầu

Xuất bản trong nhóm

Cách tăng tốc độ viết mã Java bằng Lombok

Nguồn: Dev.to Chúng tôi viết cùng một mã soạn sẵn trong mọi ứng dụng. Ví dụ:
  • Getters;
  • Người định cư;
  • Nhà thiết kế;
  • Mẫu thiết kế của nhà xây dựng;
  • và nhiều hơn nữa…
Sẽ thật tuyệt nếu công việc thường ngày này có thể được giao phó cho ai đó phải không? Và đây là lúc Lombok có thể giúp chúng ta.Nghỉ giải lao #70.  Cách viết mã Java nhanh hơn với Lombok.  Danh sách đào tạo của tôi dành cho lập trình viên mới bắt đầu - 1

Anh ta đang làm gì vậy?

Nó tạo mã byte cho các tác vụ phổ biến này (getters, setters, v.v.) và đặt chúng vào một .class, giúp chúng có thể sử dụng được trong mã chúng ta viết.

Làm thế nào điều này xảy ra?

Bạn cần thêm phần phụ thuộc Lombok vào bản dựng Maven của mình. Sau đó, bạn cần chú thích các lớp, trường mong muốn bằng một số chú thích Lombok. Hãy nhìn vào mã! Không có Lombok:
public class Human {
    private int id;
    private String name;
    private int ageInYears;

    public Human() { }

    public Human(int id, String name, int ageInYears) {
        this.id = id;
        this.name = name;
        this.ageInYears = ageInYears;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAgeInYears() {
        return ageInYears;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAgeInYears(int ageInYears) {
        this.ageInYears = ageInYears;
    }

    // Builder pattern
  public Human id(int id){
        this.id = id;
        return this;
    }
    public Human name(String name){
        this.name = name;
        return this;
    }
    public Human ageInYears(int ageInYears){
        this.ageInYears = ageInYears;
        return this;
    }

    @Override
  public String toString(){
        return String.format("Human(id=%s, name=%s, ageInYears=%s)",
                this.id, this.name, this.ageInYears);
    }
}
Bây giờ hãy sử dụng Lombok:
import lombok.*;
@Getter @Setter
@AllArgsConstructor @NoArgsConstructor
@Builder @ToString
public class Human {
    @Setter(AccessLevel.NONE)
    private int id;
    private String name;
    private int ageInYears;
}
Phần phụ thuộc Maven trông như thế này:
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.16</version>
    <scope>provided</scope>
</dependency>
Lưu ý: Phần phiên bản sẽ thay đổi tùy theo phiên bản Lombok mới nhất.

Chúng ta đã làm gì?

Chúng tôi đã sử dụng các chú thích để tạo getters, setters, constructor, mẫu thiết kế Builder và triển khai toString. Chúng ta cũng có thể thực hiện thay đổi đối với một số chú thích, chẳng hạn như trình thiết lập cho trường id. Chúng tôi đặt cấp độ truy cập của nó thành Không có: điều này có nghĩa là chúng tôi không tạo trình thiết lập cho nó.

Nó có đáng làm không?

Chúng tôi đã viết 52 dòng khi không sử dụng Lombok. Chúng tôi đã viết 8 dòng bằng Lombok. Lombok đã giúp chúng tôi giảm kích thước mã gần 4 lần . Điểm này có thể được cải thiện nếu chúng ta có nhiều biến số hơn trong lớp học. Lombok có nhiều chú thích hơn với nhiều thông tin hữu ích. Để xem chúng, hãy truy cập trang web .

Phần kết luận

Lombok giúp bạn tập trung vào mã doanh nghiệp của mình và không phải lo lắng về các chi tiết nhỏ (getters/setters/constructor/mẫu thiết kế chung và các cấu trúc Java khác).

Danh sách đào tạo lập trình viên mới bắt đầu

Nguồn: DZone Bạn tôi có một cậu con trai sắp tốt nghiệp cấp 3. Anh ấy biết một chút về lập trình và đang tự hỏi liệu mình có nên trở thành một lập trình viên hay không. Gần đây anh ấy hỏi tôi: “Tôi nên dạy gì tiếp theo?” Nghỉ giải lao #70.  Cách viết mã Java nhanh hơn với Lombok.  Danh sách đào tạo của tôi dành cho lập trình viên mới bắt đầu - 2Khi mới bắt đầu học lập trình, tôi cho rằng câu trả lời cho câu hỏi “Tôi nên học gì tiếp theo” sẽ là một công nghệ lập trình mới, một ngôn ngữ mới, một thư viện mới hoặc những thứ tương tự. Khi tôi thăng tiến trong sự nghiệp, tôi đã thay đổi suy nghĩ của mình. Ngoài việc trau dồi kỹ năng lập trình và học ngôn ngữ mới, các lập trình viên có tham vọng nên nghiên cứu các lĩnh vực liên quan (tôi sẽ giải thích điều này bên dưới). Trong bài viết này, tôi muốn thu thập danh sách các kỹ năng mà tôi khuyên các lập trình viên nên thành thạo. Mục tiêu của tôi không phải là liệt kê tất cả kiến ​​thức hiện tại hoặc cung cấp liên kết đến các bài hướng dẫn. Thay vào đó, tôi muốn giúp những người mới làm quen với một bộ công cụ, kỹ thuật và kỹ năng có thể giúp họ viết chương trình.

Dòng lệnh

Tôi đoán tôi đã bị coi là "già" theo một số tiêu chuẩn. Vào thời của tôi, sử dụng máy tính có nghĩa là ngồi trong DOS và gõ lệnh. Rất nhiều đã thay đổi kể từ đó. Điều rất quan trọng là học cách sử dụng dòng lệnh. Nhiều công cụ chỉ cung cấp giao diện dòng lệnh. Trong một số trường hợp, bạn có thể làm việc nhanh hơn trên dòng lệnh. Bạn sẽ có thể làm những việc cơ bản như:
  • Duyệt qua thư mục.
  • Quản lý tập tin (sao chép/di chuyển/xóa).
  • Biên dịch và/hoặc chạy mã nguồn.
Nếu bạn đang sử dụng Windows, tôi khuyên bạn nên làm quen với Linux, có thể sử dụng WSL2 thay vì một máy ảo hoàn chỉnh. Nếu bạn đang sử dụng máy Mac, bạn có thể sử dụng shell được tích hợp trong HĐH. Bạn cũng có thể có được trải nghiệm tốt bằng cách cài đặt máy ảo Linux.

Kiểm soát phiên bản

Bạn cần học cách theo dõi mã nguồn của mình bằng cách sử dụng kiểm soát phiên bản. Phần mềm kiểm soát phiên bản cho phép bạn theo dõi lịch sử sửa đổi của dự án, điều này có thể rất quan trọng cho việc gỡ lỗi. Nó cũng giúp việc cộng tác trên cơ sở mã trở nên dễ dàng hơn. GitHubGitLab là hai trang web phổ biến để lưu trữ các dự án nguồn mở. Cả hai đều sử dụng Git (như tôi đoán tên gợi ý). Git là công cụ phổ biến nhất hiện nay, vì vậy tôi khuyên bạn nên làm quen với việc sử dụng Git trên dòng lệnh với GitHub hoặc GitLab làm kho lưu trữ của mình.

Mạng

Hầu hết các chương trình ngày nay đều yêu cầu ít nhất một mức độ kết nối mạng nào đó. Hiểu cách mạng hoạt động là quan trọng. Ít nhất, bạn nên hiểu những điều cơ bản như địa chỉ IP, cổng và giao thức. Tìm hiểu về tường lửa, cân bằng tải, proxy sẽ mang lại hiệu quả sau này. Và không chỉ trong sự nghiệp lập trình của bạn. Đồng ý, thật tuyệt khi hiểu được câu hỏi “tại sao Wi-Fi không hoạt động?” Tôi cũng khuyên bạn nên tìm hiểu những kiến ​​thức cơ bản về dịch vụ đám mây như AWS và Azure. Cố gắng thiết lập Đám mây riêng ảo AWS với mạng con, quy tắc đăng nhập, cổng sẽ mang lại cho bạn trải nghiệm kết nối mạng.

Kiểm tra

Một phần không thể thiếu của việc viết phần mềm tốt là học cách kiểm thử phần mềm. Nhiều người trong chúng ta học lập trình và sau đó “kiểm tra” mã của mình. Kiểm thử đơn vị và tích hợp là những kỹ năng cần thiết có thể áp dụng cho hầu hết mọi phần mềm bạn đang làm việc. Mặc dù ban đầu việc kiểm tra có vẻ tẻ nhạt nhưng kỹ năng này sẽ mang lại hiệu quả và cho phép bạn làm việc nhanh hơn và tự tin hơn.

Hội nhập liên tục

Tích hợp liên tục hoặc CI, kết hợp kiểm tra và kiểm soát phiên bản. Mỗi khi bạn tạo một lần lặp mã mới, bạn sẽ có một bộ thử nghiệm chạy tự động. Các công cụ CI đã được cải thiện đáng kể trong 10 năm qua. GitHub và GitLab có các giải pháp CI tích hợp (tương ứng là GitHub Actions và GitLab CI) và rất dễ dàng để bắt đầu. Cũng như thử nghiệm, việc bắt đầu với CI sẽ khó khăn. Nhưng một khi bạn đã học được những điều cơ bản, bạn sẽ thấy vấn đề trở nên dễ dàng và nhanh chóng hơn nhiều. Tôi khuyên bạn nên tìm hướng dẫn chi tiết với các ví dụ về ngôn ngữ lập trình bạn đang sử dụng.

Kỹ năng viết

Đây có lẽ là lĩnh vực mà tôi đánh giá thấp nhất khi bắt đầu làm lập trình viên. Tôi không phóng đại: Bây giờ tôi tin rằng kỹ năng quan trọng nhất mà một lập trình viên có thể bổ sung vào kho vũ khí của mình là viết. Kỹ năng viết tốt có nghĩa là bạn có thể giải thích rõ ràng một ý tưởng bằng cách sử dụng số lượng từ tối thiểu. Khi học lập trình, bạn thường tự mình làm việc nên việc viết là không cần thiết. Nhưng khi bắt đầu làm việc nhóm, bạn sẽ cần phải viết:
  • Tài liệu;
  • Báo cáo lỗi;
  • Yêu cầu tính năng;
  • Đề xuất của khách hàng;
  • Tài liệu có yêu cầu;
  • Email (rất nhiều email!);
  • Tin nhắn;
  • Bài đăng trên blog (có thể);
Học cách viết. Bài tập. Tham gia một khóa học viết. Nó sẽ trả cổ tức cho phần còn lại của cuộc đời bạn. Ngoài ra: học đọc tốt. Khi tôi mới bắt đầu phát triển chuyên môn, tôi bị choáng ngợp bởi các tài liệu yêu cầu. Bây giờ tôi nhận ra rằng việc dành vài giờ để nghiên cứu kỹ thông tin này sẽ giúp bạn tiết kiệm được nhiều tháng lãng phí khi xây dựng sai thứ.

Các ngôn ngữ lập trình khác

Ngày nay, chỉ biết một ngôn ngữ lập trình là không đủ. Hầu hết mọi lập trình viên đều nên biết ít nhất một vài điều. Điều quan trọng là phải học các ngôn ngữ khác để học các kỹ thuật mới. Tôi khuyên bạn nên học một vài loại ngôn ngữ khác nhau. Theo thứ tự ưu tiên giảm dần: Lập trình chức năng. Hầu hết các trường vẫn không dạy lập trình chức năng (FP). FP là một cách tiếp cận mạnh mẽ giúp viết nhiều loại mã dễ dàng hơn. Tôi thiên vị, nhưng tôi muốn giới thiệu Haskell là ngôn ngữ tốt nhất để học vì nó sẽ giúp bạn hiểu FP tốt hơn nhiều ngôn ngữ khác. Việc học một ngôn ngữ từ dòng LISP cũng rất hữu ích. Học lập trình chức năng sẽ giúp bạn viết mã tốt hơn bằng hầu hết mọi ngôn ngữ. Lập trình hệ thống. Ngôn ngữ hệ thống thuộc cấp độ thấp hơn và cho phép kiểm soát hoạt động của chương trình tốt hơn. Bằng cách nghiên cứu chúng, bạn sẽ tìm hiểu cách chương trình hoạt động trên hệ thống, điều này có thể rất hữu ích để hiểu và gỡ lỗi các vấn đề trong các ngôn ngữ khác. Tôi khuyên bạn nên học Rust, sau đó là C và C++. Ngôn ngữ hướng đối tượng. Java và C# là hai ngôn ngữ hướng đối tượng phổ biến nhất trong họ này. (Đúng, Python và C++ cũng phổ biến, nhưng tôi sẽ nêu bật chúng một cách riêng biệt). OOP đã giới thiệu nhiều mô hình mới và có lẽ vẫn là phương pháp lập trình phổ biến nhất, mặc dù cá nhân tôi thích các phương pháp lập trình chức năng hơn. Tuy nhiên, có rất nhiều điều để học hỏi từ lập trình hướng đối tượng và rất có thể bạn sẽ viết mã hướng đối tượng trong sự nghiệp của mình. Viết kịch bản. Python và Ruby là hai ngôn ngữ kịch bản phổ biến trong họ ứng dụng hướng đối tượng. Đặc biệt, Python được sử dụng rộng rãi trong các lĩnh vực liên quan như DevOps và khoa học dữ liệu. Ngoài ra, đây là một ngôn ngữ đơn giản, khá dễ dàng để bắt đầu.

Phương pháp lập trình

Cho dù bạn sử dụng ngôn ngữ lập trình nào, bạn cũng nên làm quen với một số kỹ thuật bổ sung vượt xa ngôn ngữ cụ thể của mình, bao gồm:
  • Lập trình cơ sở dữ liệu. Tôi thực sự khuyên bạn nên học SQL. SQLite và PostgreSQL là hai DBMS nguồn mở để khám phá.
  • Song song và lập trình không đồng bộ. Điều này ngày càng trở nên quan trọng ngày nay.
  • Lập trình mạng , đặc biệt là tạo máy chủ và máy khách HTTP.
  • Tạo giao diện web bằng HTML/CSS/JavaScript.
  • Tuần tự hóa dữ liệu ở các định dạng như JSON, YAML và tệp nhị phân.

Phần kết luận

Thông tin trên có vẻ phức tạp. Bạn không cần phải nghĩ rằng mình cần phải học tất cả những điều này để trở thành một lập trình viên. Cái này sai. Trở thành một lập trình viên giỏi cần có thời gian và sự luyện tập chuyên nghiệp. Nếu bạn chưa bắt đầu lập trình, tôi khuyên bạn nên bắt đầu với một số dự án thú vị. Hãy cân nhắc việc đóng góp cho các dự án mã nguồn mở, điều này sẽ giúp bạn thoải mái và học hỏi từ những lập trình viên có kinh nghiệm. Nhiều lập trình viên thích chia sẻ kiến ​​thức của họ với người mới bắt đầu.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION