Làm thế nào để thuyết phục các lập trình viên tuân theo các quy tắc cơ bản


20

Có một số quy tắc tôi phải tiếp tục yêu cầu các lập trình viên tuân theo rất thường xuyên. Họ viết mã và, nếu nó hoạt động, công việc chỉ là xong, đối với họ. Các quy tắc cơ bản nhất có thể là:

  • Cam kết thay đổi
  • Không viết các vấn đề về Mô hình trong Chế độ xem hoặc Bộ điều khiển
  • Tránh mã hóa cứng

Bạn có thể cho tôi biết kinh nghiệm của bạn? Làm thế nào để bạn quản lý này?


2
Bạn nên hỏi trên lập trình viên.stackexchange.com. Bạn có đánh giá mã? Bạn có một công cụ đánh giá mã như Crucible? Tôi sẽ khuyên bạn nên thực hiện đánh giá mã kỹ lưỡng và nhấn mạnh vào tất cả các vấn đề đang được giải quyết trước khi thực hiện bất kỳ công việc nào khác.

15
Bạn có thể thử để đầu ngựa trên giường của họ làm việc trong Bố già.
Gaurav

4
Tôi đã thành công lớn với điện áp cao. Số dặm của bạn có thể thay đổi.
Tim Post

2
@Tim: một tờ báo cuộn lại thân thiện với môi trường hơn
Steven A. Lowe

@Steven, tôi đoán nó sẽ như vậy. Đầu tiên bạn tái mục đích tờ báo, sau đó tái lập nó. Tôi cho rằng có một nghệ thuật để đe dọa màu xanh lá cây.
Tim Post

Câu trả lời:


6

Tất cả công nhân tri thức cần phải được thử thách để làm công việc có chất lượng. Chất lượng sẽ bị ảnh hưởng nếu họ cảm thấy hạn chế thời gian tùy ý được đặt trên chúng. Tại sao không làm những thứ "đủ tốt" khi mọi người đều quan tâm đến việc hoàn thành các thông số kỹ thuật và đáp ứng thời hạn?

Danh sách khiếu nại của bạn là triệu chứng của một công ty chỉ thưởng cho việc đáp ứng các mục tiêu ngắn hạn và không muốn nhấn mạnh chất lượng cao. Bạn đang điều hành một khách sạn năm sao hay một trạm dừng xe tải?


1
+1 để chỉ ra đây là một vấn đề văn hóa và cần được giải quyết từ quan điểm động lực.
Alex Feinman

vừa là vấn đề văn hóa của công ty vừa được JeffO ám chỉ. nhưng đôi khi văn hóa đó bị xáo trộn từ dưới lên khi các lập trình viên và nhà phát triển không có tầm nhìn về mã chất lượng hoặc cho nhu cầu của nó. khi họ ở trường Khoa học Máy tính, các giáo sư của họ đã tát họ hai bên đầu họ vài lần.
robert bristow-johnson

@ robertbristow-johnson - Điểm tốt.
JeffO

14

Để có thể tuân theo các quy tắc cơ bản, họ cần biết các quy tắc là gì và họ cần phải đồng ý với chúng.

Cách để xử lý việc này là cùng nhau tạo ra một tài liệu hướng dẫn mã hóa mà mọi người đều có thể đồng ý. Đừng cố ép cái này lên chúng, nó sẽ phản tác dụng nếu bạn làm thế.

Vì vậy, tập hợp nhóm và bắt đầu làm việc theo một định nghĩa chung về các quy tắc cơ bản của bạn!

Làm điều đó như một hội thảo, nơi tất cả các tiếng nói được nghe. Timebox nó để tránh các cuộc thảo luận bất tận. Bạn đang cố gắng mang nhiều ý nghĩ lại với nhau, vì vậy bạn có thể muốn thiết lập giai đoạn với một lưu ý tích cực rằng tất cả các bạn nên tôn trọng và giữ một tâm trí cởi mở (viết mã là cá nhân ...).

Những hướng dẫn này nên được thay đổi sống động bất cứ khi nào nhóm cảm thấy có điều gì đó cần được thêm hoặc làm rõ.


2
Mặc dù tôi đồng ý, tôi cũng không đồng ý với "Đừng thử ép buộc điều này với họ, nó sẽ phản tác dụng nếu bạn làm thế." - Khi tất cả đã nói và thực hiện, việc có ai đó đồng ý với các quy tắc cơ bản hay không là không liên quan. Sếp đưa ra các quy tắc, làm theo chúng hoặc tìm một công việc khác. Chúng tôi không đặc biệt đến nỗi mối quan hệ chủ nhân và nhân viên không áp dụng.
Steven Evers

12

Vai trò của bạn là gì? Nếu bạn chỉ là một nhà phát triển khác đặc biệt quan tâm đến chất lượng mã, có lẽ bạn không có quyền để họ lắng nghe bạn và có lẽ bạn nên đưa ra những ý tưởng này để quản lý để thiết lập các tiêu chuẩn mã phải / phải theo sau. Nếu bạn là người quản lý / trưởng nhóm / kiến ​​trúc sư bất cứ điều gì và bạn có một số quyền, thì bạn có thể tự mình thiết lập những thực hành đó. Viện tài liệu tiêu chuẩn và quy trình xem xét mã để loại bỏ những điều này.

Nó sẽ không phải là một công tắc ma thuật mà bạn có thể bật; nó sẽ là một quá trình chậm chạp và sẽ không bao giờ được 100%. Dù sao đó cũng là kinh nghiệm của tôi.


1
Đồng ý. Đây là một vấn đề chính trị, không phải là một kỹ thuật.

Và mọi tiêu chuẩn mã sẽ phải được nhóm đồng ý ít nhất một phần. Các công cụ như StyleCop giúp rất nhiều.
Công việc

Sếp của tôi đang cố gắng đẩy "chất lượng mã" của mình, nhưng nó không thành công, bởi vì mọi người không tin vào điều đó. có quyền lực không phải lúc nào cũng là câu trả lời.
IAd CHƯƠNG

@ 0101 Rất đúng. Sức mạnh giúp đẩy tin nhắn. Thông điệp phải được tạo ra để nó sẽ được chấp nhận và làm theo.
RationalGeek

7

Nó cần phải là một sự kết hợp hợp lý của tất cả các câu trả lời cho đến nay. Cuối cùng, khi bạn nói về một nhóm người thông minh (nhà phát triển), bạn phải cung cấp cho họ lý do tại sao hành vi đó lại quan trọng và cung cấp cho họ đủ quyền kiểm soát cách hành vi đó được thực hiện mà họ được đầu tư để thực hiện đúng. Các nhiệm vụ từ phía trên nói chung là lỏng lẻo với những người thông minh, bởi vì nếu họ không đồng ý rằng vấn đề là vấn đề, thì họ có thể dành nhiều thời gian làm việc xung quanh nhiệm vụ hơn là tuân theo quy tắc.

Đây là một vài chiến thuật của tôi:

Cam kết thay đổi:

Đầu tiên, nhóm cần thống nhất khi nào nên cam kết và những gì cần cam kết. Hoàn toàn cần thiết là một thiết lập xây dựng có ý nghĩa, để mọi người không trì hoãn chỉ vì họ không biết đặt cái gì vào đâu. Và một sự đồng thuận về thời điểm / tần suất đăng ký. "Không phá vỡ công trình" là một quy tắc tốt rõ ràng, nhưng nó được kiểm tra như thế nào và ai được thông báo về điều đó? Một điều cơ bản khác là "nó không được thực hiện nếu nó không được đăng ký".

Hầu hết các nhà phát triển mà tôi biết đều rất vui khi kiểm tra mã IF:

  • Quá trình kiểm tra dễ dàng
  • Quá trình đồng bộ hóa rất dễ dàng (bao thanh toán trong các thay đổi từ các nhà phát triển khác)
  • Thấy thay đổi và di chuyển giữa các phiên bản thật dễ dàng

Một điều mà tôi nhận thấy gần đây là việc đăng ký trở nên thường xuyên hơn và ít đau đớn hơn khi chúng tôi tiến tới một công cụ CM mới. Nhóm của chúng tôi là tiên phong Rational Team Concert trước đây đã sử dụng Clearcase. Tôi không có ý định quảng cáo các công cụ, nhưng làn sóng kiểm tra phát trực tuyến mới (với tôi) với rất nhiều sự hợp nhất nhỏ, nhanh chóng khiến cho việc đăng ký sớm và thường xuyên trở nên hấp dẫn hơn.

Để các nhà phát triển chịu trách nhiệm loại bỏ cơn đau CM thường làm tăng số lượng đăng ký trong đó xảy ra.

Tuân thủ kiến ​​trúc - Không viết các vấn đề về mô hình trong chế độ xem và bộ điều khiển

Tôi đang đặt nó trong cụm chung của "làm kiến ​​trúc chính xác". Tôi đồng ý với bất cứ ai nói đánh giá ngang hàng - áp lực ngang hàng là tuyệt vời cho việc này. Một trong những cách tôi thường thấy mọi người tham gia vào các hoạt động tốt nhất trong lĩnh vực này là khi các đồng nghiệp của họ hỏi họ tại sao họ lại làm theo cách khác (cách không đúng như vậy). Nói chung, câu hỏi "tại sao" sẽ dẫn mọi người xuống con đường nhận ra chính họ tại sao họ nên làm điều đó khác đi. Khi mọi người có một lý do được hiểu rõ về thực tiễn tốt nhất, việc tuân thủ nó sẽ dễ dàng hơn nhiều.

Ngoài ra, nếu có một số hình thức liên kết một người với một quyết định, thì việc gán lỗi trong khu vực đó có thể dễ dàng hơn ... vì vậy nếu một người chịu trách nhiệm sửa lỗi trong một khu vực có thiết kế bị lỗi, thì cần phải có một cái gì đó ngay trước đó họ có thể chuyển sang một cái gì đó mới và thú vị có thể là một động lực lớn.

Tránh mã hóa

Tôi sẽ bắt đầu với các tiêu chuẩn mã hóa rõ ràng và tích hợp đánh giá tiêu chuẩn mã hóa trong các đánh giá ngang hàng. Mã hóa cứng là một trong những điều có thể dễ dàng là một hộp kiểm trong chương trình nghị sự đánh giá ngang hàng.

Tôi sợ rằng loại điều này là điều mà tôi đã thấy nó trở thành vai trò của đội dẫn đầu để thực thi quy tắc. Trong các đội tôi đã điều hành, chúng tôi thường sẽ không cho phép ai đó tiếp tục cho đến khi họ sửa các nhận xét từ đánh giá ngang hàng về mã của họ. Và "không mã hóa cứng" là một nhận xét đánh giá ngang hàng thường xuyên.

Nói chung

Với hầu hết mọi thực hành tốt nhất, tôi nghĩ bạn phải chọn các trận đánh của mình. Không có đội sẽ trở nên hoàn hảo tuyệt đối. Nhưng bạn có thể theo dõi các điểm đau chính của bạn và bắt đầu giải quyết chúng thành cụm. Tôi nghĩ rằng nó trở thành vai trò của người lãnh đạo để thực sự biết đâu là điểm đau của đội so với một sự châm biếm khó chịu của một cá nhân cụ thể.

Nếu nhóm của bạn đang bỏ lỡ một thực hành tốt nhất cụ thể, tôi nghĩ câu hỏi đầu tiên phải là "điều này gây ra bao nhiêu thiệt hại?" nếu câu trả lời là "tối thiểu", thì có lẽ nó không đáng thời gian. Một số thực tiễn tốt nhất có liên quan nhất đến các loại hệ thống cụ thể - trong khi chúng có tổng thể tốt, chúng có thể không đáng để chiến đấu cho các hệ thống mà thực tiễn không phải là sự xuất hiện thường xuyên hoặc là phần chính của hệ thống.

Nếu câu trả lời cho "bao nhiêu damange?" là "CÒN !!!", sau đó bạn có thể bắt đầu xây dựng một trường hợp để cho nhóm thấy rằng tất cả những đau đớn và đau khổ này có thể được loại bỏ bằng cách sửa chữa một điểm thiếu sót này trong các thực tiễn tốt nhất. Hầu hết mọi người đều vui vẻ tránh đau đớn và đau khổ và nó thay đổi cuộc đối thoại từ "làm điều này bởi vì tôi đã nói với bạn", thành "chúng tôi quyết định làm điều này vì nó tốt hơn".


Nhận xét dài, nhưng cách tiếp cận của bạn là tuyệt vời. Để khiến mọi người tuân thủ các nguyên tắc này, họ cần phải tin rằng đó là một lợi ích. Tôi rất muốn nghe một số ví dụ về cách điều này đã làm việc cho nhóm của bạn.
jmort253

Ví dụ yêu thích của tôi là thiết lập môi trường thử nghiệm nhất quán. Tôi đã KHÔNG thi hành một cách đúng đắn. Tôi đã có một người phụ trách tài liệu cài đặt. Tôi nói - "đó là tất cả những gì bạn - bạn có thể làm bất cứ điều gì cần thiết để tạo ra một cơ chế cài đặt đảm bảo cài đặt nhất quán - mọi người đều được trao quyền để sửa lỗi cho bạn nếu cài đặt bị rối tung". Trong vòng chưa đầy một tháng, chúng tôi đã có một công cụ vững chắc và một tài liệu rất ngắn. Và công cụ này đã được cài đặt dưới dạng cắt ngắn trên mọi máy tính để bàn. Tôi không cần thực thi, cài đặt thích hợp đã là con đường ít kháng cự nhất. Bây giờ mục tiêu của chúng tôi là loại bỏ các phím tắt, làm cho nó tự động.
bethlakshmi

6

Xem lại mã. Chỉ chấp nhận mã được viết tốt mà không có lỗi.


3
Đó không phải là một giải pháp cho vấn đề tiềm ẩn. Đừng lãng phí thời gian với các đánh giá mã, khi bạn có thể khắc phục vấn đề nguyên nhân gốc.
Martin Wickman

Nếu bạn có thể buộc họ làm lại nhiều lần, sự lười biếng vốn có của họ sẽ khiến họ bắt đầu tuân thủ theo thời gian.
David Thornley

Đồng ý, mọi người chỉ cần có trách nhiệm và làm công việc của họ mà không được nói. Xem xét mã sau mỗi thay đổi là một sự lãng phí lớn thời gian.
jmort253

5

Ít nhất :

  • Giúp họ dễ dàng theo dõi các codelines hơn (Các công cụ như chia sẻ lại, StyleCop) Nếu dễ dàng, họ có nhiều khả năng chấp nhận hơn.

Bên cạnh đó, chọn những gì hoạt động dựa trên tổ chức của bạn, các nhà phát triển và vai trò của bạn trong nhóm.

  • Hãy để họ sửa lỗi và thay đổi yêu cầu thường xuyên
  • Ghép nối chương trình với một nhà phát triển có kinh nghiệm
  • Mã đánh giá theo cách xây dựng
  • Hướng dẫn mã
  • Bắt đầu đào tạo, sử dụng các cuốn sách như Code Complete và Lập trình viên thực dụng.

5

Vai trò của tôi là Quản lý, nhưng là một nhóm nhỏ, tôi phát triển và tôi thích quản lý như một huấn luyện viên.

Các điện cực trên ghế được kết nối với trình phân tích cú pháp mã đã được chỉ ra, nhưng các lập trình viên dường như không sợ hãi. Bắn không có vẻ là một cách tiếp cận tốt, vì điều đó có nghĩa là mất tài sản xứng đáng.

Tôi sẽ xem tất cả các công cụ đó và tôi vẫn mở cho bất kỳ công cụ nào khác mà bạn nói với tôi.


3
Nếu tài sản của bạn rất xứng đáng, có lẽ những vấn đề này không quá quan trọng? Bạn phải chọn và chọn trận chiến của bạn một số lần.
JeffO

Câu hỏi của tôi là về việc cải thiện những gì tôi có, điều đó khó hơn nhưng hiệu quả hơn là tìm kiếm & thay thế
Llistes Sugra

Bắn những người không tuân theo các quy tắc mã hóa là KHÔNG mất tài sản tốt, đó là loại bỏ gỗ chết.
HLGEM

@HLGEM - Trừ khi người không tuân theo các quy tắc chỉ là một ninja mã có thể giải quyết bất kỳ vấn đề nào trong tổ chức. Bác sĩ House không tuân theo các quy tắc, nhưng nếu bệnh viện sa thải anh ta, sẽ có rất nhiều người hư cấu sẽ chết. vi.wikipedia.org/wiki/Gregory_House
jmort253

4

Có 3 cách để chúng tôi giải quyết vấn đề này:

  1. Phân tích tĩnh của mã nguồn để kiểm tra các vấn đề với quy ước mã hóa. Sử dụng các công cụ như cppcheck và những công cụ từ ngữ pháp . Wikipedia có một danh sách tốt: http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis . Thông thường, hầu hết các hệ thống kiểm soát nguồn sẽ có các móc nối mà bạn có thể kiểm tra các vấn đề đó trực tiếp trong quá trình đăng ký. Đối với móc CVS, hãy nhìn vào liên kết này: http://goo.gl/F1gd2 . Không tuân thủ có nghĩa là đăng ký thất bại và hơn 3 lần thất bại có nghĩa là nhà phát triển phải tự giải thích cho nhóm của mình.

  2. Trong quá trình mã hóa, chính nó phát hành các vấn đề cho nhà phát triển. Có các tập lệnh tùy chỉnh được tích hợp với IDE bạn chọn là một cách hay để làm điều này. Kiểm tra liên kết này: http://goo.gl/MM6c4

  3. Thực hiện theo các quy trình nhanh và đảm bảo rằng đánh giá mã là một phần của lần chạy nước rút


1
+1, tôi có các móc nối chạy bất cứ thứ gì đã được sửa đổi thông qua nẹp (và một số gợi ý khác) cũng như các công cụ để đảm bảo rằng tôi không bao gồm các tiêu đề một cách không cần thiết, cộng với việc đảm bảo thụt lề là các khoảng trống, v.v.
Tim Bài viết

Các giải pháp kỹ thuật sẽ không hữu ích nếu các nhà phát triển không bắt buộc phải sử dụng chúng.
Robert Harvey

2

Đây là kế hoạch 3 bước của tôi:

  1. Cháy các lập trình viên
  2. Thuê một số kỹ sư phần mềm
  3. ...
  4. Lợi nhuận!

: D

Nói một cách nghiêm túc, nếu họ không tin vào việc làm gì ngoài việc viết mã, bạn cần một đội ngũ hoàn hảo hơn. Một lập trình viên nơi tôi làm việc đã sử dụng các thư mục khác nhau trên máy tính làm CM của cô ấy. Chúng tôi đã chiến đấu với lập trình viên của họ trong gần một năm (vì những thay đổi sẽ giới thiệu các lỗi khi họ sao chép và dán mã cũ). Cuối cùng chúng tôi đã sa thải họ.


2
  1. Hãy chỉ ra cho họ, khi họ vi phạm các quy tắc cơ bản.
  2. Đợi họ tạo ra các lỗi mà họ không thể theo dõi hoặc phải đối mặt với yêu cầu tính năng mà họ không thể thực hiện do mã không linh hoạt của họ.
  3. Nhắc nhở họ về những gì bạn đã nói trước đó.
  4. Hãy để họ chết đuối trong shit riêng của họ trong một thời gian.
  5. Dành thời gian để cấu trúc lại mã được đề cập, cô lập các lỗi / cung cấp cơ sở hạ tầng để cắm chức năng mới. Hãy dành thời gian để giải thích những gì bạn đã làm.

Ngoài ra, điều tàn nhẫn nhất nhưng rất thuyết phục phải làm là để cho họ duy trì một cơ sở mã được viết cực kỳ kém, đưa ra một lịch trình chặt chẽ. : D
Và sau đó, để thay đổi, hãy để họ duy trì một cơ sở mã được viết tốt, đưa ra một lịch trình chặt chẽ.

Nói chung, việc không thích nghi với các tiêu chuẩn nhất định có nghĩa là thiếu kinh nghiệm trong công việc nhóm.

Cuối cùng mọi người chỉ học hỏi từ những sai lầm. KHÔNG BAO GIỜ sửa chữa các vấn đề, đó là dựa trên sự bướng bỉnh của người khác. Nếu nó thực sự quan trọng đối với dự án (tức là công ty của bạn sẽ bị kiện nếu bạn không giao hàng trong vòng N ngày), thì hãy đặt chúng ra khỏi dự án trước.


Tôi thích điều này. Công thức tuyệt vời để làm cho ai đó ghét bạn. ;)
Roman Zenka

@Roman Zenka: Có thể, vâng. Nhưng nếu lựa chọn là giữa bị ghét và bị thất vọng, bởi vì bạn có NNPP trong đội, tôi thích lựa chọn đầu tiên;)
back2dos

Tại thời điểm này, họ cần được đưa ra khỏi biên chế.
JeffO

Tôi thực sự đã làm việc trên đó! Và họ không ghét tôi. Kết luận là, mọi người đều thoải mái trong chuyện riêng của mình. Và điều đó làm cho nhiệm vụ này rất khó khăn.
Llistes Sugra

1

Tôi nghĩ rằng lập trình viên của bạn sẽ không thay đổi thái độ của họ đối với những vấn đề bạn đã đề cập cho đến khi họ nhận ra rằng những điều đó sẽ dẫn đến lợi ích hoặc lợi thế cho họ. Cố gắng giải thích cho họ tại sao bạn muốn họ làm những điều này. Thậm chí tốt hơn, hãy để họ trải nghiệm những lợi thế.


1

Thuê một kỹ sư phần mềm chuyên nghiệp. Rồi lửa yếu nhất. Sau đó, từ từ thay thế những người không thể chấp nhận. Có những người như vậy đôi khi mang lại nhiều tác hại hơn lợi nhuận trong dài hạn.

Ý tưởng chính ở đây, rằng chuyên nghiệp sẽ bắt đầu thực hiện hầu hết công việc, và sa thải những người khác sẽ không làm giảm nguồn nhân lực có giá trị.


1
Đây là một cách tuyệt vời để bù đắp cho việc thiếu kỹ năng lãnh đạo và khả năng cố vấn cho những cá nhân ít kinh nghiệm. Nếu kỹ năng thuyết phục của bạn tệ, hãy bắt đầu sa thải tất cả những người không đồng ý với bạn.
jmort253

@ jmort253, Nếu tôi có cơ hội, tôi sẽ sa thải mọi lập trình viên không cam kết kiểm soát phiên bản thường xuyên. Từ những lời của tác giả, tôi nhận thấy rằng TẤT CẢ các lập trình viên đều rất thiếu kinh nghiệm và không muốn học hỏi và cải thiện bản thân.
Konstantin Petrukhnov

1

Đó là một chút tổng, nhưng tôi đã để Code Complete trong phòng tắm trong một vài tháng. Không chắc chắn rằng nó có hiệu quả, nhưng nó dường như là một ý tưởng tốt vào thời điểm đó.


0

Vì vậy, hậu quả của việc không tuân theo các quy tắc và phần thưởng cho việc tuân theo các quy tắc là gì? Nếu câu trả lời là như nhau - không có gì - chúc may mắn nhận được bất kỳ lực kéo nào. Tôi đề nghị một cách tiếp cận nhiều tầng. Đầu tiên hãy tập hợp chúng lại và thảo luận xem chúng có mua vào các quy tắc hay không. Bước tiếp theo là đưa chúng vào đánh giá mã. Bạn cũng có thể thử cà rốt và gậy. Một cái gì đó giống như bất cứ ai để lại một tập tin được kiểm tra qua đêm phải mang bánh rán đến cuộc họp hàng tuần tiếp theo. Một củ cà rốt có thể là bất cứ ai tuân theo các quy tắc trong cả tháng sẽ có một ngày cuối tuần ở Vegas. Dành cho hai người.

Hoặc sa thải kẻ phạm tội tồi tệ nhất và để phần còn lại đổ mồ hôi.


Eeep! Bạn có một loại thanh toán duy nhất của VCS? Nhận với thế kỷ, người đàn ông!
David Thornley

0

Làm cho họ phải chịu những sự đồng ý mà bạn muốn tránh bằng cách sử dụng các quy tắc đó, đó là cách duy nhất họ thực sự hiểu lý do tại sao bạn yêu cầu, ví dụ: tạo ra một mớ hỗn độn có kiểm soát nhỏ mà họ phải sửa.


0

Nếu phi hành đoàn này thực sự gặp khó khăn trong việc kiểm tra các thay đổi, tuân thủ sự phân tách mối quan tâm và không phải là hằng số ma thuật mã hóa cứng thì tôi sẽ sa thải toàn bộ phi hành đoàn và thay thế họ bằng các lập trình viên thực sự 1 thực sự quan tâm đến nghề của họ càng sớm càng tốt. Thể là cùng một lúc hoặc en masse tôi không thể nói nhưng những lá joker đã phải đi.

Loại mã hóa mà bạn đang mô tả là phù hợp cho các tập lệnh chỉ sử dụng một lần. Nó không phải là cách người ta xây dựng một ứng dụng thực sự. Nếu họ được trả tiền như những lập trình viên chuyên nghiệp, thì công việc của họ là phải biết loại việc này.


1 Điều này thường được sử dụng như một thuật ngữ đùa cho những người tưởng tượng viết mã của họ trực tiếp dưới dạng nhị phân hoặc một cái gì đó vô lý không kém. Ở đây, tôi không nói đùa. Tôi là một lập trình viên khá mới và tôi không cần phải nói những điều này vì tôi quan tâm đến nghề của mình. Đây không phải là những lập trình viên thực sự mà bạn đang đối phó.


Tôi đồng ý với tất cả mọi thứ trừ phần bắn. Chúc may mắn bỏ mọi nhiệm vụ quan trọng khác mà bạn đang làm với tư cách là người quản lý, bao gồm thời hạn đáp ứng và các mốc quan trọng của khách hàng, để thay thế toàn bộ nhân viên có kinh nghiệm của bạn bằng những người có thể nhận xét mã nhưng không có kiến ​​thức về miền.
jmort253

0

Công việc của người quản lý không phải là bạn của nhân viên, đôi khi bạn phải là người xấu. Thực thi các tiêu chuẩn và cam kết mã hóa, từ chối tuân theo kiến ​​trúc proscibed, không sử dụng các công cụ theo quy định, vv là những lúc bạn phải không phổ biến.

Thể hiện chính sách rõ ràng. Thực hiện đánh giá mã chính thức và kiểm tra xem các chính sách được tuân theo. Không cho phép họ chuyển sang một nhiệm vụ khác cho đến khi tất cả các vấn đề từ đánh giá mã được xét xử.

Nếu chính sách liên quan đến việc không cam kết mã, điều này sẽ gọi cảnh báo bằng văn bản nếu họ không thể làm điều đó khi họ được yêu cầu làm như vậy. Nếu họ không cam kết mã, theo như bạn lo ngại thì họ đã không viết bất kỳ.

Nếu họ không cải thiện sau khi có cơ hội hợp lý để cải thiện, hãy sa thải họ. Các nhà phát triển không chuyên nghiệp là lực cản đối với nhóm của bạn cho dù họ viết loại mã nào. Họ đang ảnh hưởng đến những người khác với sự thiếu chuyên nghiệp của họ và nó không được dung thứ. Họ không phải là người tốt để giữ lại trong bất kỳ sự kiện. Các nhà phát triển giỏi cam kết mã của họ, các nhà phát triển giỏi tuân theo các quyết định kiến ​​trúc ngay cả khi họ không đồng ý với họ và các nhà phát triển giỏi không mã cứng. Bạn sẽ không bỏ lỡ bất cứ điều gì ngoại trừ đau đầu bằng cách loại bỏ các lập trình viên cao bồi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.