带着班图精神编程

通常,我们在不与别人交流的状态下自己编写代码,代码反映了我们对问题的个人理解及解决方法。尽管我们可能是团队的一部分,但仍然会独自行事,很容易就忘记了自己独立编写出来的代码会被其他人执行、使用、扩展或者依赖。软件创建的社会方面很容易被忽视。创建软件是混合进入社会活动的技术活动。我们只需要多抬抬头就能意识到我们不并是在与世隔绝的状态下工作的,我们共同承担了为每个人,而不仅仅是开发团队,增加成功的可能性的责任。

你可以在与世隔绝的状态下编写出优质的代码,但是会迷失自我。从一个角度看,这是一种以自我为中心的行为(不是自大,而是自我)。这也是你在编程时刻的禅道。我经常会尝试活在那个时刻,因为它帮助我得到高质量的代码,但紧接着我就活在了“自我的”时刻。我的团队的时刻呢?我自己的时刻也同样是我团队的时刻吗?
        祖鲁人的班图哲学可总结为“Umuntu ngumuntu ngabantu”,大概意思是“一个人通过其他人而成就为一个人”。我因为你的优秀行为而自己做的更好,相反,我自己做的不好也会让你做得不好。在编程中,我们可以将其收为“一个程序员通过其他程序员而成就为一个程序员”。如果我们继续深入,那就是“代码通过其它代码而成就为代码”。
        我写的代码的质量会影响你写的代码的质量。如果我的代码质量很差呢?即使你的代码非常干净,在你使用我的代码的地方,你的代码质量也会堕落到我的代码质量水平。你可以使用很多模式和技术来减少损失,但损失已经存在了。就因为我活在自己的时刻中时没有为你着想,就让你做了很多本不需要做的事。
        我可能认为自己的代码很干净,但仍可以通过班图编程来变得更好。班图编程是什么样子的呢?它看起来就是良好、干净的代码。它不仅是代码,也是架构。它是创建架构的行为。带着班图精神,为你的朋友们编码,能帮助你的团队增加你的价值、坚实你的原则。下一个接触你的代码的人,无论是使用什么方式接触,都会成为一个更好的人、更好的程序员。

禅道是关于个人的。班图是一组人的禅道。很少很少的情况下我们才会单独为自己编写代码。

原文:Ubuntu Coding for Your Friends by Aslam Khan

87. 带着班图精神编程相关推荐

  1. 【记录】在win10系统上安装ubuntu(乌班图)双系统

    在win10系统上安装Ubuntu(乌班图)双系统 先说一下Ubuntu系统的优势: ubuntu就是为个人用户打造的系统 桌面特效很炫 运行计算很快 没病毒(linux下的病毒个人电脑是碰不到的) ...

  2. Sikuli -- 创新的图形化编程技术

    简介: 本文将介绍由 MIT 研究团队发布的图形化编程技术 Sikuli.它以图像检索为基础,提供了一套基于 Jython 的脚本语言以及集成开发环境,使用者可利用屏幕截图直接引用 GUI 元素进行编 ...

  3. 乌班图配置mysql Java_从零开始的告警平台(1)

    一:平台的主要工作流程 消息源==>数据接收==>数据处理==>存入数据库并推送至用户 以存入数据库的数据为基础,可以开发多种功能,比如周报统计,自动化处理故障,历史告警记录--等等 ...

  4. 《带着神兽自学少儿编程》之01:爸爸下载Scratch【关注可畅读】

    疫魔瞬间降临,无情的新冠状病毒不管我们情愿与否,像一场超级龙卷风一般,把全国多少无辜的男女老少们都统统卷入闭门抗疫和重新认识互联网的轰轰浪潮之中-这是我们泱泱华夏民族断臂自强的复兴之战,也是万千企业绝 ...

  5. Python和R的GUI图形化编程与用户界面

    GUI图形用户界面 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面. 图形用户界面是一种人与计算机通信的界面显 ...

  6. 树莓派python图形化编程_BlockPi: 树莓派图形化编程软件,轻松控制GPIO、SenseHAT、Picamera等硬件。...

    BlockPi 一个专门为树莓派设计的图形化编程平台,基于Google Blockly构建,适用于树莓派爱好者或者少儿编程学习. A visual programming editor app for ...

  7. java 图形化编程_java图形化编程

    转载 学习Java Swing图形化编程,我们首先要了解三个最基本的概念:顶层容器,控件,布局. 下面就来介绍一下这三个基本概念 1.顶层容器 什么是顶层容器?当我们使用Java进行图形编程的时候,图 ...

  8. 乌班图Ubuntu20.04桌面版安装教程

    我们将U盘插入到想要安装乌班图Ubuntu系统的电脑上,以华硕主板为例,开机启动快捷键为"F8".首先将电脑重启,在刚启动的时候反复按下"F8"键,就会进入启动 ...

  9. 乌班图安装python_乌班图中怎么安装python

    Ubuntu16.04默认安装了Python2.7和3.5 请注意,系统自带的python千万不能卸载! 输入命令python 按Ctrl+D退出python命令行 输入命令sudo add-apt- ...

  10. 华为服务器安装乌班图系统,安装乌班图服务器版本

    安装乌班图服务器版本 内容精选 换一换 已提前申购企业许可号码,并获取相关信息.已获取服务器管理员帐号与密码. 已提前申购企业许可号码,并获取相关信息.已获取服务器管理员帐号与密码.企业协议号码需提前 ...

最新文章

  1. 利用RGB-D数据进行人体检测 带dataset
  2. 为什么有些人非技术出身,却能带好团队?
  3. AI Challenger 2018 机器翻译参赛总结
  4. Restful HMAC认证
  5. 大数据就业前景分析的太到位了【附:1T视频资料】
  6. Java实现ActiveMQ之队列的生产者和消费者(一)
  7. 【转】STM32中的抢占优先级、响应优先级概念
  8. git 回退上一个版本
  9. _2020年10个最好的Linux发行版本
  10. 关于类类型的隐式类型转换
  11. 视觉SLAM十四讲第三讲
  12. 数据结构与算法-进阶(十二)最短路径Dijkstra 算法
  13. 《逆流而上的你》大结局将至,邹凯高蜜何去何从
  14. 串口转以太网项目开发(1)-- 修改默认的设备树文件
  15. Windows11 微软拼音注册表方式添加小鹤双拼
  16. Go语言if条件判断
  17. python 之 怎么卸载
  18. 教程:使用C#将HTML网页转换为Word文件
  19. 2022年上半年系统集成项目管理工程师综合知识真题及答案解析
  20. AVR单片机中ATmega8的AD转换探究

热门文章

  1. 线束测试仪新应用:针对于高铁级电动“新巴客”的线束测试
  2. 服务器操作系统详解,深入解析Windows操作系统之总体架构
  3. 单片机c语言 课程设计报告,单片机课程设计心得体会精选
  4. unix环境高级编程读后感
  5. Linux下netstat命令详解
  6. JavaScript高级程序设计(第三版)pdf版 下载
  7. VB.NET连接远程Oracle
  8. [VB.NET]各们,请问如何使用vb.net编写两个进程间消息通信的程序啊
  9. 全球编程厉害的14位大佬
  10. 时区时钟插件html,World Clocks插件,世界时钟Chrome插件,轻松查看各国日期时间...