大多数时候,写代码都是挺有意义的一件事,不光能增加经验值,解决难题的时候还特别爽。耐心、毅力、执着,再加上正确的工具——只要有它们的亲密协作,优雅、漂亮的代码就是手到擒来的事儿。
但是,紧接着拙劣的资源部署、新增的特性请求、糟糕的文档更新汹涌而来,打破了我们的美梦。
但是这并不是说我们的努力就没有价值。只是我们需要面对现实罢了。下面就是编程开发人员必须接受的10个残酷真相。
开发真相No. 1: 编程就是if-then-else语句的运用
编程语言设计者讨论、抽象化思考等等作为,其实都只是在旧的if-then-else语句上重新包装一下而已。这也几乎就是硬件所有的功能了。
开发真相No. 2: 互联网其实就是存储在表中的数据
例如Ruby on Rails——当前操作web最为流行的编程语言之一,其实就是在数据库中搞一个小天地:指定一个全局变量,Rails就会自动创建一个列,因为它的作用就是在数据库中建立表格。
开发真相No. 3: 用户有自己的想法
偶尔用户会变得理智和通情达理,但是大多数情况下,他们都是古怪且难以琢磨的——甚至是非常苛刻的。程序员根本想不到这些用户在看到产品时会出来哪些天马行空的想法。
开发真相No. 4: 你写的大部分代码将永远不会被使用
这一点就不再多说了,说多了都是泪啊!
开发真相No. 5: 需求变更是必然的
需求变更是项目结构的直接后果。管理人员会在事情开展之前做好所有的规划工作,制定目标。
开发真相No. 6: 没有人理解你,特别是你的老板
我们可以将程序员分成两种:第一种的老板是不会编程的,也不知道为了使代码能成功编译需要付出多大的努力;还有一种的老板以前也是程序员但是现在已经忘记了代码编译过程的艰辛
开发真相No. 7: 关于隐私,痛苦的纠结
我们都希望我们的服务可以保护我们的用户和他们的信息。但是同时,我们也希望网页简单且易于操作。点击深度——达到目标所需要的点击次数——尽可能的少。
开发真相No. 8: 信任是有代价的
如果真能像你想的那么简单就好了。事实是,首先在别人允许你使用他们的代码之前得先填写一些表格——大多数情况下会由专业人士起草——签署“不平等条约”。你的回报是什么呢?将你辛辛苦苦写出来的这么漂亮的代码交给别人,却不知道别人给出的是什么货色?但是,没办法,你只能相信他们。
开发真相No.9: 软件有一定的生命周期
生命周期的存在让我们能更深刻的理解计算机。不要以为代码没有摩擦、没有氧化、没有微生物的繁殖,就是永恒的,就能永垂不朽,事实并非如此。
开发真相No. 10 : 在围墙中生存发展
我只是希望以后会有越来越多的人愿意在软件上为许可证付钱,这样我们这一行业才能在这种四面围墙的条件下生存发展。