• 《构建之法》第一章读后感


        “程序=数据结构+算法”,这几乎是每个程序员的公认的道理。但完成一个程序真的有这句话说得这么简单吗?

        每一个程序创立的初衷都是使用。即使你对数据结构、算法再了解,你对它们的运用再娴熟,不能方便用户使用的程序就是个残次品,甚至不配称为“程序”。老师在课上说过一句话:现在的程序员考虑的越来越多的是技术层面,而用户在乎的却是使用层面。就算你的软件用到了当前最先进的算法,但让用户在使用时一头雾水,那么你创作出来的产品就是失败的。程序写出来是给人用的,所以在我看来“程序=用户+需求”。让你的程序面向合适的人群,满足这些用户的需求才是一个程序员的本职。

        程序员是靠编程序、写代码来谋生的,那么一个合格的软件就必须包含程序和商业模式这两个方面。商业模式这个词听起来很现实,但我们又不得不现实。一个软件团队或企业要养活自己,那商业模式就是必须的。或许这其中会存在一些不正当的竞争,但大部分IT人还是会用职业道德规范来约束自己。

        书中以飞机的发展来类比软件的开发阶段。当你对软件工程感兴趣时,你把编程当作一个玩具,能在电脑上完成一个“hello world”的程序就很开心。可是当你发现身边的伙伴“玩”的比你更好时,你也想更进一步,这时玩具就变成了爱好,你不局限于自我满足,你希望得到同样爱好软件的人的认可。当你学的越多你就越发现软件开发是没有边界的,你需要更深的探索来引导后人,用更加先进的软件原型启发后人。最终软件开发日趋先进,它不再是普通百姓仰望的高科技,而是进入人们的生活,服务于生活,成为一个产业。

        安全即使是在虚拟世界同样应该受到重视。用户在使用一款软件时,软件能不能因为一个错误就导致用户的数据受到损坏?答案是不能!就像人们坐飞机时没有人会刻意的去在乎一个飞机的安全措施,他们更在乎的是舒适性,但飞机绝不能因为一个故障就机毁人亡。打一个不恰当的比方,内裤这种东西必须人人都有,但不会拿在明面上显露出来。

  • 相关阅读:
    什么是Shader
    [Tip: Interface Implementation]
    Focus在某一领域的软件开发 + 在那一领域无限扩展视野
    [Tip: VS]Several IDE Tips and Tricks
    [Tip C# collection]List<Employee> or EmployeeList?
    [Tip Regular expression]Test Regular Expressions With The Regulator
    VS2005设计智能客户端(轉)
    第1章 本书会讨论什么内容
    [导入]关于Sprite.Draw2D
    C#面試(轉)
  • 原文地址:https://www.cnblogs.com/clueless/p/6387809.html
Copyright © 2020-2023  润新知