Vì vậy, câu hỏi là:
Đây thực sự là một thực tế phổ biến hay trong bất kỳ cách nào là một ý tưởng tốt?
Trong số các câu trả lời hiện có là một không . Vì vậy, có một vài điều khác tôi có thể kêu gọi về nó như; thậm chí mã thủ tục có thể được tạo thành mô-đun và bao gồm tất cả mọi thứ, nhưng bồn rửa nhà bếp không phải là cách bạn đạt được mô-đun. Mà một lớp khổng lồ chia thành các đảng làm, tất cả cộng lại thành một mớ hỗn độn lớn.
Tuy nhiên, câu hỏi đó là một cá trích đỏ đến phần quan trọng thực sự đã bị bỏ lỡ; vì OP cũng có những điều sau đây để nói về tình huống này:
(...) Trong khi phản ứng ruột của tôi là nuke nó từ quỹ đạo, họ khăng khăng ...
(...) Tôi có xu hướng thực hiện các bước ngay lập tức để hạ bệ con thú này (hoặc ít nhất là ngăn nó phát triển hơn nữa) nhưng tôi sẵn sàng tin rằng mình đã sai.
CHỜ CHÚT!
Đây là một cái gì đó sẽ làm cho sự đơn điệu nói theo nghĩa bóng của tôi rơi vào tách trà tượng trưng của tôi.
Tôi đã từng ở trong những tình huống tương tự và để tôi nói với bạn: ĐỪNG rơi vào sự thôi thúc phải làm như vậy. Chắc chắn, bạn có thể thả Nuke Hammer of Justice vào đội nhưng trước khi làm như vậy, hãy hài hước với câu hỏi hóc búa sau đây:
Điều gì sẽ xảy ra nếu bạn nói với nhóm rằng mã của họ bị hút và tắt đi ?
(... Hoặc một cái gì đó tương tự nhưng ít gây khó chịu hơn, điều đó không thực sự quan trọng bởi vì họ sẽ bị xúc phạm bất kể bạn làm gì nếu bạn quyết định dùng hết sức vào họ)
Tình hình hiện tại với cơ sở mã là gì? Nó có hoạt động không? Sau đó, bạn sẽ có những vấn đề lớn giải thích cho khách hàng của họ rằng mã của họ về cơ bản là rất tệ . Bất kể lý do nào họ có: miễn là nó hoạt động, hầu hết khách hàng không quan tâm đến cách tổ chức mã.
Cũng đặt mình vào vị trí của họ, họ sẽ làm gì? Hãy để tôi giải thích bạn với kết quả rất có thể sau đây:
Thành viên nhóm số 1: "Vì vậy, có anh chàng này nói với chúng tôi rằng chúng tôi đã làm sai trong những năm qua."
Thành viên nhóm # 2 và # 3: "Thật là một thằng ngốc."
Thành viên nhóm có ảnh hưởng số 4: "Đừng lo lắng về điều đó, tôi sẽ chỉ đến gặp ban quản lý và báo cáo đó là một sự quấy rối."
Xem những gì Thành viên nhóm ảnh hưởng số 4 đã làm ở đó? Ông đã đi đến quản lý và giảm nghiệp của bạn trong công ty. Anh ta có thể là người Mỹ gốc Ý, nói với mọi người đừng lo lắng về điều đó, nhưng sau đó tôi sẽ phân biệt chủng tộc về điều đó.
Vẽ đội vi phạm vào một góc với việc cho phép họ thừa nhận rằng họ đã làm sai quá lâu cũng là một ý tưởng tồi và dẫn đến điều tương tự. Bạn sẽ mất sự tôn trọng và một số nghiệp chính trị văn phòng.
Ngay cả khi bạn đã cố gắng để có được một nhóm người đăng nhập vào điều này, để "dạy cho nhóm một bài học", hãy nhớ rằng bạn đang làm điều này với những người khá thông minh, những người dường như đã hoàn thành một số việc. Khi mã sẽ được viết lại / tái cấu trúc / xử lý / bất cứ điều gì xảy ra và các vấn đề phát sinh là bạn sẽ phải chịu trách nhiệm vì bạn là người thông minh nhất .
Nghịch cảnh về những tình huống như thế này chủ yếu là một trò chơi thua / thua vì nó có nguy cơ trở thành một vòng luẩn quẩn của những trò chơi đổ lỗi. Đây là một kết quả tối ưu cho tình huống này. Ngay cả khi bạn giành chiến thắng, bạn đột nhiên trao lại mớ hỗn độn mà người khác đã làm.
Có những cách khác (trưởng thành hơn nhiều)
Tôi đã ở trong một tình huống tương tự một lần, nhưng sau đó tôi đã lấy một mũi tên ở đầu gối. Vì vậy, sau một thời gian với mũi tên thay đổi nghề nghiệp đột ngột đó trong tâm trí tôi, tôi đã nhận được một cuốn sách Lái xe thay đổi kỹ thuật của Terrence Ryan . Nó liệt kê một số mô hình của những người hoài nghi, loại người không hành động theo những ý tưởng tốt. Tất cả đều có khả năng áp dụng trong trường hợp của OP:
- Người không hiểu biết - Họ thực sự không biết có những cách khác hoặc đơn giản là không hiểu. Các nhà phát triển cơ bản thường phù hợp với thể loại này nhưng không nhất thiết phải như vậy. (Thành thật mà nói: Tôi đã gặp các nhà phát triển cơ sở sẽ sáng hơn thế này.)
- Đàn - Họ biết các kỹ thuật tốt hơn so với sử dụng các lớp một phần nhưng không biết rằng chúng được cho phép.
- Người hoài nghi - Họ chỉ muốn tranh luận rằng có một phần lớp tốt hơn ý tưởng của bạn chỉ vì lý do tranh luận. Thật dễ dàng để làm điều đó trong một đám đông thay vì đứng trước đám đông.
- The Burned - Vì một số lý do kỳ lạ mà họ không muốn tạo ra các lớp mới, rất có thể họ cho rằng nó quá khó.
- Thời gian khủng hoảng - Họ bận rộn đến mức họ không thể bận tâm sửa mã của mình.
- Sếp - Họ nghĩ: "Chà nó hoạt động, vậy tại sao phải bận tâm?"
- Vô lý - Ok, họ hoàn toàn điên rồ.
Cuốn sách tiếp tục với một danh sách các chiến lược, v.v., nhưng trong trường hợp của OP, đó là vấn đề thuyết phục. Đi đầu mạnh mẽ với sự thật về chống mẫu là không đủ.
Nếu bạn muốn tăng chất lượng mã, ít nhất hãy cho nhóm vi phạm cơ hội nhắc lại và khắc phục tình trạng lộn xộn của chính họ . Cá nhân tôi sẽ cố gắng lắc lư họ bằng cách lắng nghe và đặt câu hỏi hàng đầu, để họ kể câu chuyện của họ:
- Chính xác thì lớp thần của họ đang làm gì?
- Họ có gặp phải vấn đề gì không? Họ có bất kỳ lỗi? Đề nghị sửa chữa lành mạnh mà không nói với họ để làm như vậy.
- Nếu bạn là người dùng của lớp thần này dưới dạng API: Có cách nào đơn giản hơn để sử dụng mã hơn là sử dụng toàn bộ không? Đề xuất các ví dụ đơn giản hơn, xem cách họ phản ứng.
- Bạn có thể chuyển đổi một số chức năng với người khác, mà không phải viết chức năng?
- Họ có cần được đào tạo không? Bạn có thể thuyết phục ban quản lý cho họ làm điều đó hoặc có các cuộc họp ăn trưa về các mô hình và thực tiễn không?
... và cứ thế. Cung cấp cho họ những gợi ý nhỏ để họ có thể tiến về phía trước. Phải mất thời gian và sẽ cần một số loại mỡ khuỷu tay chính trị văn phòng nhưng kiên nhẫn và chăm chỉ là một đức tính phải không?