首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

互联网开发模式的经验之谈

互联网开发模式的经验之谈 在这篇文章中: 互联网开发的核心问题 本质:服务,而不是产品 管理:手段.vs.工具 资产:代码.vs.流程 敏捷开发的意义和实践 需求变更的原因 架构设计实体化:单元测试 统一软件设计思路的重要性 代码交流:面向对象 代码架构与重构 持续集成的意义和实践 所有资产纳入版本管理 自动化部署 自动化集成测试 DevOps的意义和实践 运维与开发的一体性:运维、运营、QA 运营:客服、活动 运维:部署(虚拟机)、监控、统计 总结 互联网开发的核心问题 当我1999年进入互联网行业工作的时候,华为刚刚通过了著名的CMM认证。当时作为一个小程序员,非常向往业界经典的软件开发模式。因为看上去,如果企业实行了CMM,我们程序员就不用再天天为了老板一个拍脑袋的主意而加班开发了,各种各样的奇葩需求和无理变更,也会烟消云散。但是,在接下来的十几年,几乎没有那个互联网公司再去通过CMM认证。 是否CMM这种软件开发模式,就根本不适合互联网行业呢?这是一直以来我都在思考的问题。反而是跟随着互联网企业的一步步长大,我无意识的体验了很多现在流行概念的早期实践:敏捷、重构、持续集成、DevOps,这些实践一开始都非常的幼稚粗糙,但是却真正的伴随着互联网业务的逐步成长。所以,在讨论互联网服务的开发模式时,我认为必须要先搞清楚互联网服务开发的核心问题是什么。

00

云时代的.NET

编程语言从最初的0101机器码到汇编语言再到面向对象的编程,不断的发展,整个发展趋势呈现高内聚、低耦合、可重用、可理解的特点。最早编程是用机器码,人的大脑不像电脑,无法处理0101;后来汇编语言还是太费解,又出现了高级语言;然后因为我们需要更加接近人类语言的方式描述问题,开始出现结构化编程或者模块化编程的方式;但我们要面对的问题还是太复杂,所以就需要把他切割成小问题,即模块化;模块化出现之后,我们又开始追求高内聚低耦合,因人脑仍然没有办法思考太多的模块之间错综复杂的关系,所以需要高内聚低耦合,分层次的看待这些问题;但就算把这些功能都充分的去模块化、高内聚低耦合,发现数据流还是太复杂了,所以需要把数据也给高内聚低耦合,这个时候我们开始去做面向对象的编程,当面向一个对象的时候编程就会比较高效。面向对象就是帮助我们把数据对数据的操作分装到模块里面,同时提供新的思考问题的方式,这样子我们本来只是比较简单的大脑,居然一下子就可以驾驭非常复杂的业务逻辑,做很庞大的软件系统。

04

首款软件机器人发布背后,是软件开发升级由“术”走向“道”

作者 | 曾响铃 文 | 响铃说(xiangling0815) 越来越多的事实表明,提升国家竞争力、避免被“卡脖子”、推动数字经济快速发展,除了需要芯片等硬件层面的创新突破,软件能力也变得不可或缺。 近年来,国内大大小小的科技企业在软件创新能力的投入越来越多,国产操作系统、数据库、办公软件等基础软件成熟度与国际主流产品差距显著缩小,加速从“可用”向“好用”迈进,自主可控成效显著。 但是,对提升整体软件能力这件事而言,那些让软件开发更有效率、更具创新可能的推动性动作也开始出现,软件机器人就是其中之一,软件

01
领券