side-effect-la-gi

Side Effect là gì? Tất cả những kiến thức newbie cần biết

Chia sẻ kinh nghiệm

Side Effect là một trong những vấn đề mà bạn có thể gặp phải khi làm việc ở những công cụ hỗ trợ cho công việc lập trình. Tuy vậy, không phải ai cũng hiểu bản chất của Side Effect là gì. Nếu bạn cũng đang tìm hiểu về vấn đề này, bài viết “Side Effect là gì? Tất cả những kiến thức newbie cần biết” của topviecit.vn sẽ rất hữu ích cho bạn.

Tìm hiểu về khái niệm của Side Effect là gì?

Side Effect là một khái niệm khá trừu tượng để có thể giải thích. Vì vậy, để hiểu rõ hơn về Side Effect là gì, bạn có thể tham khảo định nghĩa cũng như ví dụ dưới đây. Cụ thể như sau:

Side Effect là gì?

Side Effect được phiên dịch ra tiếng Việt là “tác dụng phụ”. Vậy, có thể hiểu Side Effect trong lĩnh vực lập trình viên chính là những hiệu ứng phụ có tác động, làm biến đổi trạng thái của một state ở bên ngoài chương trình. Side Effect là một thuật ngữ chuyên ngành được nhiều Developer sử dụng trong lĩnh vực lập trình.

Vậy, bạn có thể hiểu rằng, với bất kể hành động nào gây ra được sự thay đổi về trạng thái, tính chất, số lượng của hàm đều sẽ được gọi là Side Effect. Hiện tại, để quản lý được những hiệu ứng phụ này, đã có khá nhiều thư viện đặc biệt được ra đời, phát triển. Ví dụ như Dva-loading, Redux-Sugar, Vue-wait,… Những thư viện đặc biệt này sẽ giúp cho người quản lý được các Side Effect đơn giản, nhanh chóng hơn.

>>>Xem thêm: Scrum Master là gì? So sánh Scrum Master và Project Manager

Tìm hiểu về khái niệm của Side Effect là gì?
Tìm hiểu về khái niệm của Side Effect là gì?

Một số loại Side Effect thường gặp

Hiểu đơn giản hơn, Side Effect sẽ xảy ra khi bạn thực hiện tác động thứ gì đó bên trong hàm, điều này khiến cho bên ngoài của hàm đó cũng sẽ bị tác động và ngược lại. Tuy vậy, nếu bạn sử dụng hàm gọi tới là Pure Function thì Side Effect sẽ không xảy ra.

Hiện tại, có khá nhiều kiểu Side Effect, tuy vậy, bạn có thể sẽ thường xuyên gặp các kiểu Side Effect sau đây hơn, bao gồm:

  • Hiển thị dữ liệu ra màn hình của người dùng.
  • Thay đổi các giá trị/thuộc tính của 1 hoặc nhiều biến global.
  • Thực hiện viết, tạo ra một file.
  • Tạo HTTP request.
  • Lưu trữ dữ liệu về hệ thống database.
  • Thay đổi DOM.
  • Gọi hàm Math.random().
  • Gọi một Function có Side Effect.

Ví dụ dễ hiểu hơn về Side Effect

Để có thể dễ hiểu hơn về Side Effect là gì, bạn có thể tham khảo Side Effect trong ngôn ngữ JavaScript ví dụ như sau:

Khi bạn thực hiện thao tác nhập các dữ liệu như username, password,… Sau đó thực hiện submit trên hàm submit Login, lúc này Side Effect trong JavaScript sẽ xử lý theo từng bước như sau:

  • Thực hiện submit các thông tin này lên server.
  • Nhận các thông tin được trả về.
  • Hiển thị thông tin được trả về dưới dạng thành công hoặc thất bại. Trong đó, khi thành công, hệ thống sẽ chuyển từ redirect sang dashboard, khi thất bại sẽ hiện thông báo Error và giải thích về lỗi gây ra thất bại.

Lúc này, bạn có thể thấy được rằng Side Effect chính là bước thứ 2 của quy trình này. Tức là nó sẽ hiển thị trạng thái của kết quả truy cập như thế nào lên bên ngoài màn hình của người dùng.

>>>Xem thêm: Hệ quản trị cơ sở dữ liệu là gì? Những hệ CSDL thường dùng nhất

Side Effect sẽ hiển thị trạng thái của kết quả truy cập như thế nào
Side Effect sẽ hiển thị trạng thái của kết quả truy cập như thế nào

Những lợi ích, hạn chế của Side Effect là gì?

Bất kỳ một công cụ nào cũng sẽ có những mặt lợi ích, hạn chế riêng của mình. Và với Side Effect cũng không phải là ngoại lệ. Phần tiếp theo của bài viết sẽ giúp bạn hiểu hơn về hạn chế, lợi ích của Side Effect.

Lợi ích của Side Effect là gì?

Xét về khía cạnh lợi ích, Side Effect được đánh giá là một trong những công cụ hoàn hảo để có thể giúp người dùng thay đổi giá trị, thuộc tính của hàm/biến. Side Effect sẽ thông báo những sử thay đổi này ra màn hình hiển thị cho người dùng.

Ngoài ra, sử dụng Side Effect cũng sẽ giúp cung cấp được chức năng thu thập, quản lý, gửi các thông tin lưu trữ cần thiết. Những thông tin này sẽ được gửi về database (cơ sở dữ liệu) một cách tự động mà không cần đến thao tác của người dùng.

Bên cạnh đó, trạng thái chia sẻ của Side Effect cũng là một ưu thế của công cụ này. Khi sử dụng Side Effect, bạn có thể chia sẻ được các đối tượng, biến, không gian bộ nhớ, dữ liệu trong cùng một phạm vị dùng chung. Khi làm việc với trạng thái chia sẻ, có các chương trình có thể giảm thiểu được sự xung đột giữa các hàm với nhau.

>>>Xem thêm: Khám phá những chức năng của hệ quản trị cơ sở dữ liệu

Hạn chế của Side Effect là gì?

Tuy vậy, Side Effect cũng tồn tại một số hạn chế khi sử dụng nó. Ví dụ như khi người dùng quá “lạm dụng” Side Effect, các phần mềm tự động mặc định có thể bị thay đổi trạng thái của tất cả các hàm được nhập vào. Đây thường là một trong những nguyên nhân dẫn đến các lỗi không mong muốn xảy ra với chương trình.

Tuy trạng thái chia sẻ của Side Effect là một lợi thế, nhưng nó cũng chính là một hạn chế của Side Effect. Để có thể thực hiện được trạng thái này, bạn sẽ cần biết được về lịch sử của đối tượng, các sự kiện, dữ liệu đã được chia sẻ trước đó, các điểm đột biến, tương tác tiềm năng để chia sẻ là gì.

Side Effect sẽ có những lợi ích, hạn chế riêng khi sử dụng
Side Effect sẽ có những lợi ích, hạn chế riêng khi sử dụng

Hy vọng với những thông tin được cung cấp ở trong bài viết này sẽ giúp bạn hiểu hơn về Side Effect là gì. Đừng quên theo các bài viết trong chuyên mục cùng với bài viết này để cập nhật những thông tin, chia sẻ, kiến thức liên quan đến công nghệ thông tin tốt hơn.

>>>Xem thêm: Visual Studio Code là gì? Tổng hợp chi tiết về Visual Studio Code

Hình ảnh: Sưu tầm

Trả lời

Email của bạn sẽ không được hiển thị công khai.