前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序人生:编程N问

程序人生:编程N问

作者头像
企鹅号小编
发布2018-01-25 16:34:11
5750
发布2018-01-25 16:34:11
举报
文章被收录于专栏:编程编程

编程是一门艺术吗

在一定程度上,一切都能感觉到“艺术”,编程也不例外。但在科技行业,人们往往认为“艺术”是随心所欲、难以管理的。如果程序员把编程当成“艺术”,他们会吓到公司的老板。

大多数人开发软件以满足客户的需要,而不是享受自己。标准化可以提高质量和效率,最实用的价值,虽然它在一定程度上抑制了“艺术”。编程艺术是一种创建高级程序的感觉,但它不是软件公司的指导方针。

你应该在编程中使用更多的技能吗

作者的观点:就软件开发而言,技术的优势在于它能以不同的方式解决一些问题。缺点是技术不熟悉。如果您在程序中使用了太多的技术,您可能会留下一个其他人无法理解的隐藏问题。本地优势对于整个系统来说是小的,而错误可能会对整个系统造成致命的影响。我建议用自然的方式编程,不要滥用你的技能。有时我们不知道我们自己骄傲的行为是锦上添花,还是锦上添花。就像蒸出一笼馒头,在上面插一朵鲜花,本想弄点诗情画意,却让人误以为那是一堆热气腾腾的牛粪。

更快的计算机或更快的算法

如果软件运行速度较慢,是更快的计算机还是更快的算法?

如果开发软件的目的是学习或研究,就应该设计一个更快的算法。如果该软件已经在商业上可用,应该慎重考虑。如果一台速度更快的电脑能解决这个问题,它是最快的解决方案。改进后的算法可以从根本上提高软件的速度,但可能会出现错误和延迟进度。

技术爱好者无疑会选择后者,因为他们觉得放弃任何可以优化的东西都是犯罪。类似的争论:购买现成的程序,还是自己开发?技术和商务人士经常做出不同的决定。

是否应该对错误进行评分

微软的一些开发团队将错误分为四个级别。

第1级:错误导致软件崩溃。

第2级:错误导致一个特性不运行,没有其他选择。

第3级:错误导致一个特性不运行,但有另一个选项。

第4级:错误是肤浅的或小的。

评级错误的好处在于统计分析,仅此而已。但上述分类具有较大的技术倾向,并不是普遍适用的。假设在一些财务软件中有两个错误:错误导致软件死亡,而错误B导致了工资错误。根据上述分类,错误A是严重的,错误B是严重的。但事实上B比a更严重,或多或少,它会让老板或员工经济损失。而错误A只是惹恼了操作员,没有经济损失。例如,航空软件操作手册是错误的,根据上述分类,是一个四级严重,但这种错误会导致机器去除死,它还小吗?

开发人员应该认识到所有的错误都是严重的,并且没有小错误。只有这样你才能少犯错误。

一些错误的思想

其中一个误解是:我们有一套关于如何开发软件的书,其中有很多标准和例子,可以帮助我们解决软件开发中遇到的任何问题。

一本好的参考书无疑会指导我们的工作。在书籍中使用方法、技术和技术可以有效地解决软件开发中大量的常见问题。但从业人员不能依赖书籍,原因有二。

(1)在现实世界中,由于工作条件的不同,即使是相当成熟的软件工程规范也往往不适用。

(2)软件技术正在迅速变化,没有一个标准可以茁壮成长。祖传秘方在某些领域很受欢迎,软件可能意味着落后。

迷思之二:我们有资源和资源去购买最好的设备,生产出优秀的软件产品。

大公司通常都有这种心态。良好的开发环境只是产生结果的必要条件,而不是充分条件。如果你有一个良好的环境,你就会有一群平庸的人或一群聪明的人,他们正试图从中大赚一笔。

误解3:如果你的进度落后了,你可以添加更多的程序员来解决这个问题。

软件开发与传统农业生产不同。如果您将一个新手添加到一个进度落后的项目中,您可能更有可能推迟项目,原因如下。

新手会犯很多新错误,使项目更困难。

(2)一个老手要花时间向新手解释他的工作和想法,使实际的开发时间变少。

因此,准确地规划你的项目是很重要的,而且不要在意时间表看起来有多快,并且要适当地计划。

误解4:只要你认真工作,你就可以提高软件的质量。

作者的观点是:软件开发是一种智力活动,世界上最细心和最实用的程序员不一定开发出高质量的软件。程序员必须了解软件质量的所有方面(称为质量属性),您必须首先了解如何提高质量,可以在需求开发、系统设计、编程、测试等方面都有高质量的内置。

软件质量属性不是完全独立的,而是相互交织、相互作用的。因此,同时考虑几个质量属性是很重要的,这样程序就能达到整体的最佳状态。请记住质量属性,这样在设计程序时,您就可以编写高质量、无错误的代码,并减轻检查和调试的负担。

经典的软件工程书籍就像砖块一样厚重,或者令人生畏,或者思维缜密。请原谅作者的天真,本章试图通过聊天和推理来解释软件工程的真相。软件工程的概念、方法和规范都是不矫揉造作的,普通人也能理解,但只有在实际使用的时候才能理解。我们不能把软件工程方法看成是诸葛亮的套筒——在问题出现后,要预先出现的问题,控制每一环节的练习,防患于未然。

研究软件工程永远不会像理论家那样聪明:这个定理证明了,而且已经结束了。

本文来自企鹅号 - 北大青鸟上海博浦媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 北大青鸟上海博浦媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档