ソースコード・ダイバーシティを尊重しよう
ダイバーシティ(多様性)が叫ばれる昨今で、昭和世代からすると多様性というはあまり好まれない傾向がありますが、令和という時代なのでさすがにそろそろ真面目に尊重されるべきです。
※この記事は Social Justice を振りかざす為の記事ではありません。ご安心ください(?)
ソースコードでもダイバーシティは尊重されるべきではないでしょうか?具体的には、クソコードを見かけてもクソコードといわずにダイバーシティ、多様性だと考えましょう。
と言ってしまうと、クソコードの言い換えという、よくあるいつものクソみたいな記事になりそうですが主張したいことはそこではなくて、自分の書き方とは違う、あらゆる全ての書き方、文化は、多様性として一定の敬意を払うと良いのではないか?という提案です。HRTです。
クソコードやクソ設計があったとしても、何かしらの理由があるのかもしれません。対話チャネルを閉ざすべきではありません。
・ クソコードという概念自体を薄めたい
・ どちらにせよ、自分が嫌いな言語や文化圏も尊重する必要はある
という2点において、ソースコード・ダイバーシティという考え方でまとめればいいのでは?と思うのです。
技術的負債、あるいは他の意味合いで、問題となるコードがあるとして、チームとしてそれが「問題である」という合意をとり「問題を解決」するという二工程だけで済むようにしたいものです。
※問題があることを、「この設計やコードに問題がある」と主張できるべきです。これは心理的安全性です。
個人的には書いたコードに対する批判を人格批判だと捉える感受性は理解しがたいところがありますが、ここは合理的に考えたいものです。極力お互いの感情を刺激しない範囲で、問題のみを取り上げましょう。
散々僕自身、クソコードだのクソ記事だの、クソ設計だの、クソUIだの、クソアプリだの、筋が悪いだの、ES5滅べだの言ってますが、ひとまずそれらの感情は棚上げした上で、世界中のあらゆるコードの多様性を尊重した上で、現実的に問題定義と問題への対処のみを淡々と行うべきなのではないか?と考えています。
いかがでしょう?クソコードという言葉や、感情論は捨てて、ソースコード・ダイバーシティを受けれてみませんか?
※ここで重要なことですが、技術的負債となるようなコードや設計を肯定するものではありません。多様性を認めることと、問題を定義し解決することは対立する概念ではありません
※ある言語やライブラリその他に対する好き嫌いを捨てる必要はありません。尊重するだけで良いのです
感情論をふりかざした仕事ごっこではなく、我々はプロとして、問題を解決することに力を注ぎたいものです。