Lập trình egoless là gì?


12

Lần đầu tiên tôi nghe thuật ngữ này khoảng mười lăm năm trước.

Sự hiểu biết của tôi tương tự như mô tả trong bài viết trên Wikipedia và một bài báo của TechRepublic : bạn làm việc với các đồng nghiệp của mình theo cách "thân thiện, đại học, trong đó cảm xúc cá nhân được đặt sang một bên". Nó bao gồm những thứ như thực hiện đánh giá ngang hàng với sự tôn trọng lẫn nhau và mong muốn tìm hiểu và không cảm thấy như bạn "sở hữu" mã, vì vậy nếu ai đó có đề xuất hoặc nói có lỗi hoặc cần thay đổi, bạn không nên phòng thủ nó

Tôi cũng đã nghĩ rằng phần lớn là có một thái độ tạo mối quan hệ tốt với các lập trình viên khác với mục tiêu cải thiện mã. Vì vậy, tôi đã không thấy nó không tương thích với việc tự hào về chất lượng công việc của bạn hoặc cảm thấy hối tiếc nếu điều gì đó bạn đã gây ra cho khách hàng của bạn một vấn đề.

Tuy nhiên, một câu trả lời cho một câu hỏi gần đây khiến tôi nghĩ rằng một số lập trình viên khác có những cách hiểu khác nhau về "lập trình vô ngã". Vậy định nghĩa đúng là gì? Và ý nghĩa của nó là gì?


7
Lập trình Ego-galore thú vị hơn nhiều so với lập trình ít bản ngã.
Công việc

2
@Job: Vâng, và như các Thần thoại nói, mọi thứ đều tốt hơn với C-4.
Bob Murphy

Câu trả lời:


17

Tất cả những điều trên.

Lập trình Egoless chủ yếu liên quan đến việc bạn dành sự tôn trọng cho lập trình viên đến sau bạn như thế nào, người sẽ phải tìm ra những gì bạn đã làm với mã của mình để họ có thể duy trì nó và hoàn toàn có thể cải thiện những gì bạn đã làm ( Tôi biết, điều đó dường như không thể tưởng tượng được, vì tất cả các mã tôi viết đã hoàn hảo;).

Tôi cũng tin rằng các lập trình viên vô vị không đảm nhận các vị trí giáo điều về công việc của họ. Điều này làm cho họ đủ linh hoạt để làm việc trong môi trường nơi những kỳ vọng lý tưởng của họ có thể không phải lúc nào cũng háo hức được chấp nhận hoặc chấp nhận vô điều kiện.


Tôi đồng ý rằng việc không giáo điều là rất quan trọng đối với các mối quan hệ mang tính xây dựng - không chỉ trong lập trình, và tôi không ngừng đấu tranh với nó.
Bob Murphy

@bobmurphy Tôi biết hai cách hiệu quả để tránh bị giáo điều. 1) Không đưa ra một tào lao về lý tưởng. 2) Đặt thời gian và năng lượng cần thiết để xây dựng một nhóm phát triển có chung lý tưởng. Nhiều người từ bỏ 2, viết một tài liệu tiêu chuẩn mà không ai đọc và từ từ trượt vào 1. Điều kiện duy nhất là một bài đánh giá mã về cách mọi người cảm nhận. Không phải về các quy tắc sau.
candied_orange

8

Cụm từ này không có nghĩa tiêu chuẩn ISO, vì vậy những người khác nhau có thể hiểu ý nghĩa khác nhau của nó.

Tôi tin rằng nó đã được Weinburg đặt ra trong cuốn Tâm lý học lập trình máy tính . Anh ta có nghĩa là lập trình mà không buộc bất kỳ cái tôi nào vào mã, để nó không phải là "mã của bạn", đó chỉ là mã. Điều này tạo điều kiện cho sự hợp tác để cải thiện mã, khả năng chấp nhận những lời chỉ trích về những gì bạn đã viết (vì nó không hướng vào bạn) và làm việc theo nhóm chung.


Tôi không nghĩ đó là tiêu chuẩn ISO. :-) Tôi chỉ ngạc nhiên khi mọi người ngụ ý lập trình vô nghĩa có nghĩa là không phù hợp để xin lỗi người tiêu dùng phần mềm của tôi khi họ bất tiện vì những lỗi tôi đã viết. Nếu đó là những gì nó có nghĩa, tôi sẽ tự cao tự đại và lịch sự.
Bob Murphy

@Bob: Tôi không thấy làm thế nào vô ích khi chúng tôi không xin lỗi về lỗi. Điều đó nghe có vẻ khá tự cao đối với tôi.
David Thornley

Đó là những gì tôi không thể tìm ra.
Bob Murphy

6

Không có một định nghĩa đúng vì khái niệm "Bản ngã" là đối tượng để giải thích tuyệt vời. Tùy thuộc vào niềm tin tâm lý và tâm linh của bạn, có nhiều hơn một vài câu trả lời khác nhau về cách người ta có thể cố gắng loại bỏ cái tôi khỏi cuộc sống của họ.

Hàm ý như tôi hiểu thuật ngữ này là có quyền sở hữu tập thể , để mỗi người trong nhóm làm việc vì lợi ích của mọi người thay vì chỉ cho chính mình. " David Logan về lãnh đạo bộ lạc " là một TED Talk trong đó một bộ lạc cấp 4 sẽ là một trong những người vô ngã theo một nghĩa nào đó.


1

Tôi là một người trung niên. Tôi đã đến nhiều quốc gia khác nhau và may mắn gặp được những người thông minh như nhà thiên văn học và tu sĩ Phật giáo zen.

Khoảng hai năm trước, tôi đã tham gia một vài lớp học máy tính để tìm hiểu kiến ​​thức về lập trình.

Một ngày nọ, giáo sư lập trình của tôi mang câu đố "Tháp Hà Nội" đến lớp. Có một số sinh viên luôn khoe khoang về cuộc sống thành công của họ là lập trình viên. Giáo sư của tôi đã cho tất cả sinh viên câu đố và yêu cầu mọi người bắt đầu câu đố cùng một lúc.

Tất cả các mavericks lập trình đã cố gắng hết sức để chứng minh rằng họ thông minh như thế nào. Học sinh hoàn thành câu đố đầu tiên là một học sinh Trung Quốc mười tám tuổi, biết rất ít về lập trình. Các mavericks đã buồn bã. Nhưng giáo sư thông thái của tôi, người có ba mươi năm kinh nghiệm lập trình (bao gồm cả Lisp) đã nở một nụ cười trên khuôn mặt.

Xin lỗi vì tiếng Anh của tôi không tốt Tiếng mẹ đẻ của tôi là tiếng nhật


+1: Tôi đã thấy điều này nhiều lần và không chỉ với lập trình.
Bob Murphy

BTW, tôi cũng ở tuổi trung niên (52). Khi tôi còn ở tuổi thiếu niên và hai mươi, tôi chắc chắn tôi biết rất nhiều về nhiều thứ. Bây giờ, tôi chắc chắn tôi không biết nhiều về bất cứ điều gì. Thật thú vị khi chứng kiến ​​cháu trai 18 tuổi của tôi rất chắc chắn về bản thân.
Bob Murphy

@BobMurphy "tôi càng học nhiều, tôi càng biết mình biết ít"
gbjbaanb

1

Ý kiến ​​của tôi (và chỉ có thế) là thuật ngữ "lập trình vô ngã" là một oxymoron.

Các lập trình viên và kỹ sư vốn dĩ là một nhóm tự cao tự đại (bao gồm cả tôi). Vào cuối ngày, khi bạn viết mã bạn đang tạo một cái gì đó. Khi bạn tự hào về công việc của bạn và những gì bạn đầu ra, bất kể như thế nào nhiều bạn tôn trọng đồng nghiệp của bạn và hiểu rằng những thay đổi cần phải được thực hiện để công việc của bạn trong tương lai, nó vẫn còn đau bản ngã của bạn khi nó xảy ra. Mỗi kỹ sư mà tôi từng gặp đều có phản ứng giật đầu gối của cha / mẹ ngay lập tức để bảo vệ em bé của họ mặc dù một khi đã thảo luận kỹ lưỡng, tác giả trở nên sẵn sàng chấp nhận sự thật rằng cần phải thay đổi.

Nói cách khác, tôi không nghĩ có thể lập trình hoàn toàn không có bản ngã.

Một lần nữa, chỉ là ý kiến ​​của tôi dựa trên kinh nghiệm. Hãy thoải mái bash tôi về điều này :)

... Và bây giờ tôi nhận ra chủ đề này bao nhiêu tuổi: P


3
Chỉ vì đồng nghiệp của bạn là mũ ass không có nghĩa là bạn cũng phải như vậy! Ý tưởng là nếu chúng ta khuyến khích mã hóa vô ngã, thì thế hệ tiếp theo có thể sẽ ít hơn một loạt các dweeb prima-domnna và nhiều chuyên gia hơn.
gbjbaanb
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.