Khá thường xuyên tôi thấy mọi người gọi một cách rõ ràng super()
trong một lớp học không mở rộng bất cứ điều gì rõ ràng.Thực hành không tốt để gọi super() trong một lớp không mở rộng bất cứ điều gì?
public class Foo
{
public Foo()
{
super();
//do other constructor stuff
}
}
Bây giờ tôi biết điều này là hoàn toàn hợp pháp và nếu bỏ qua cuộc gọi được thêm vào bởi trình biên dịch nhưng tôi vẫn nghĩ thực tiễn không tốt của nó. Bất cứ khi nào tôi thấy điều này tôi tự hỏi, nếu các lập trình viên có một số hiểu lầm về thừa kế và thực tế là tất cả các lớp học ngầm mở rộng Object
.
Tôi có nên thêm điều này vào các tiêu chuẩn mã hóa/thực hành tốt nhất của chúng tôi và tôi có nên kéo các nhà phát triển khác trong nhóm của mình khi tôi thấy họ làm điều đó không? Đó là một con gấu cá nhân của tôi nhưng tôi không biết liệu tôi chỉ là cầu kỳ hay không.
Tôi thích câu trả lời này, đánh giá mã dường như là nơi tốt nhất để giải quyết vấn đề như là một điểm của phong cách, và làm sáng tỏ bất kỳ sự hiểu lầm tiềm ẩn nào của lập trình viên. – Qwerky