Điều này rất khó giải thích vì đơn giản không có nghĩa là điều tương tự với mọi người.
Thí dụ. Một số nhà phát triển nghĩ rằng đó ?:là đơn giản nhưng những người khác nghĩ rằng một iftuyên bố là tốt hơn. Khi nó xuống đến mức này, bạn không thể làm hài lòng tất cả mọi người.
Nói chung, phương tiện đơn giản mà không phức tạp . Để hiểu được sự đơn giản, chúng ta cần hiểu sự phức tạp.
Có hai loại phức tạp:
Sự phức tạp thiết yếu đề cập đến một tình huống trong đó tất cả các giải pháp hợp lý cho một vấn đề phải phức tạp (và có thể gây nhầm lẫn) vì các giải pháp "đơn giản" sẽ không giải quyết thỏa đáng vấn đề. - Wikipedia
Sự phức tạp ngẫu nhiên là sự phức tạp nảy sinh trong các chương trình máy tính hoặc quá trình phát triển của chúng (lập trình máy tính) không cần thiết cho vấn đề cần giải quyết. - Wikipedia
Bạn có thể kiểm tra độ phức tạp cần thiết với các câu hỏi sau:
Giải pháp này có đơn giản không? Tôi có thể giải thích nó cho bạn bè của mình trong một vài phút và họ có được không? Có một giải pháp đơn giản hơn cho vấn đề? Nếu có, có sự đánh đổi nào giữa giải pháp phức tạp so với giải pháp đơn giản không? Chúng ta có thể sống với những sự đánh đổi đó không? Ví dụ, nhiều lập trình viên mắc lỗi tối ưu hóa vi mô mọi thứ và giải pháp của họ (cũng như mã) trở nên quá phức tạp.
Kiểm tra độ phức tạp tình cờ của bạn:
Mã có đơn giản không? Nếu tôi trở lại với nó trong ba tháng, tôi sẽ mất bao lâu để xây dựng bối cảnh trong não để tôi có thể thực hiện thay đổi mà tôi cần thực hiện? Có phải mọi thứ trong mã nguồn của tôi đều có mục đích rõ ràng và nó truyền đạt mục đích đó một cách hiệu quả cho tôi và các nhà phát triển khác ? Làm thế nào là khó để kiểm tra mã của tôi? Thông thường mã của bạn càng phức tạp thì càng khó kiểm tra đơn vị, vì vậy tôi thường sử dụng mã này như một thước đo độ phức tạp. Bạn thường muốn các lớp và phương thức nhỏ, được đặt tên tốt và tập trung. Các mẫu thiết kế thường giúp bạn đạt được những điều này là tốt.
Nếu bạn thấy mình muốn sử dụng một mẫu thiết kế chỉ vì bạn chỉ đọc về nó, có lẽ nó sẽ giới thiệu sự phức tạp tình cờ. Nếu bạn thấy mình muốn đặt một cái gì đó vào vì bạn nghĩ rằng 'nó thông minh', nó có thể sẽ giới thiệu sự phức tạp tình cờ.
Tôi hy vọng điều này sẽ giúp và đừng quên: Đơn giản không có nghĩa là DỄ DÀNG .