AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Chris Eargle 谈如何更好的管理应用

  • 2013-02-18
  • 本文字数:1719 字

    阅读完需:约 6 分钟

Chris Eargle 是 Telerik 公司的技术布道师和微软 C# MVP,他最近向开发者们分享了一些求生技巧。首先,他建议开发者们不要使用奇怪的代码构想,从而对寻找影响软件正常工作的bug 造成困难。

Chris 强调了使用专业的版本控制软件的必要性,它能够帮助开发者毫不费力地恢复旧版本的源代码。同时,他建议开发者确保版本控制服务运行在独立的系统上。

Chris 谈到了性能问题会以多种不同形式和程度出现,而它们都将消耗用户大量的时间。因此,最好是引入一个分析器来识别最需要优化的目标

Chris 探讨了使用异步调用的必要性,它可能长期运行并避免锁死用户界面。这些异步调用包括使用 finally 块或使用可销毁的模型来清理托管资源。如果你不能够捕捉到内存泄露背后的原因,那么使用第三方内存分析器可以帮助你来寻找导致这一问题的根本原因。

Chris 认为,鉴于火灾或其他自然气候灾害随时可能发生,备份应采用异地分离的方式,与源服务器分开。尽管如此,他认为备份不应存储在那些在线文件托管网站中,因为这种方式也有其固有的风险。

在 InfoQ 的一次采访中,Chris 针对自己分享的观点进行了更多的阐述。

InfoQ:在你日常编程工作中,是否也遵循了上述技巧?

在涉及到专业软件时,我遵循这些建议。我将其限定在这个范围内,因为在进行那些为自己编写或仅用于验证某项技术的项目时,我不会那么严格。

InfoQ:能否为开发者们推荐一些无故障的备份服务?

备份服务有多种类型,如何选择取决于需要何种基础架构。例如,我使用 GitHub 的付费账户来维护我的私人代码库,因为它很好地满足了我的需求。当我为一个保险公司工作时,我们在现场将服务器备份到磁带,并将旧的备份存储到异地物理存储设备上。这样做能够在需要的时候进行快速恢复,同时防止我们的数据在物理灾难中受到损害。

有许多很棒的专业存储服务,适用于各种类型的商业需求。我会在下面的分享中介绍一些小型的服务提供商。

我认为,在考虑何种形式的备份时,你必须对“无故障”这一想法非常谨慎。备份服务既有显而易见的风险,也有暗藏的风险。你必须非常谨慎的将整体风险降低到可接受的水平,并为之付出相匹配的成本。

这是一个暗藏风险的例子:许多人选择 MegaUpload 作为在线备份服务提供商。当它(现在叫做 MEGA )因侵犯版权的指控被政府停止服务时,大量用户从未预见他们的合法数据也会被停止。更糟糕的是,政府拒绝释放这些数据,所以每一个只将信息存在这一家服务商,而没有同时存储在其他系统的用户都损失了他们(备份的)全部数据。

InfoQ:对于使用 SkyDrive 作为备份存储,你怎么看?

SkyDrive 及类似的云存储,对于较少量的数据而言是非常好的选择。SkyDrive(为付费用户)提供的最大容量是 100GB,这并不适合企业级应用。

InfoQ:你为 Telerik 工作并推荐了 JustDecompile。能推荐一些其他的反编译工具吗?

其他的.NET 反编译工具与我所代表的产品是竞争关系,对我而言,支持另一个是一种利益冲突。

InfoQ:你是否认为,Visual Studio 2012 安装在比较旧的计算机上会存在性能问题?

我的经验是, Visual Studio 2012 在比较旧的计算机上,表现比其早期版本要好。

InfoQ: 在今天,开发者们在开发他们的应用中使用多种第三方工具。在选择 .NET 组件工具方面,你能够为他们分享一些应遵从的技巧吗?

你永远应该选择那些最能够提升你的生产效率的工具,而这一点受许多方面因素的影响,例如特性、用户体验以及是否会抑制开发者当前的环境(例如,造成阻碍)。选择组件与此类似,但关注焦点一般从它如何影响开发者转移到它如何影响最终用户。如何选择组件是一个技术问题。

例如,自从我尝试使用 ASP.NET MVC 编写网站,对我而言我更倾向于选择 Kendo UI ,而不是 ASP.NET AJAX RadControls。尽管如此,使用 APS.NET WebForms 的人可能会觉得后者( RadControls )是更好的选择。你可以使它们同时工作在上述两种环境中的任何一个里,但代码必须是可维护的,而整洁的实现对于这一点有很大帮助。

查看英文原文 Chris Eargle Talks on Better Application Management


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-02-18 08:101208
用户头像

发布了 256 篇内容, 共 78.2 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析

华为云开发者联盟

鸿蒙 操作系统 华为云 HarmonyOS 华为云开发者联盟

法律情境扮演、逆向推理文字游戏、AIGC创作……见证AI极致生产力!

飞桨PaddlePaddle

人工智能 AIGC

GPU深度学习性能的三驾马车:Tensor Core、内存带宽与内存层次结构

Baihai IDP

人工智能 程序员 AI gpu LLM

重磅签约!美团携手用友推进数智化升级

用友BIP

企业数智化

HarmonyOS振动效果开发指导

HarmonyOS开发者

HarmonyOS

深度探索E3PO:360° 视频传输平台的前沿技术与应用

数字扫地僧

E3PO

2024深圳电子展,加快粤港澳电子信息发展,重点打造湾区经济

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

Amazon CodeWhisperer 正式发布可免费供个人使用

亚马逊云科技 (Amazon Web Services)

人工智能 Amazon Lambda 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

一次讲清楚京东科技百亿级用户画像平台的探索和实践 | 京东云技术团队

京东科技开发者

数据库 Clickhouse 用户画像 用户画像平台

关于Nuxt.js 服务端组件的使用

秃头小帅oi

紫龙游戏解锁Jira与Perforce的游戏开发行业实践

龙智—DevSecOps解决方案

紫龙游戏

原来低代码开发部署起来这么简单

伤感汤姆布利柏

前端 低代码 低代码开发

07 | 链表(下):如何轻松写出正确的链表代码?

鲁米

【高效视频处理】体验火山引擎多媒体处理框架 BMF

数字扫地僧

BMF

【FAQ】运动健康服务端侧数据常见问题及解答

HarmonyOS SDK

HMS Core

MYSQL EXPLAIN 执行计划 | 京东物流技术团队

京东科技开发者

MySQL 数据库 EXPLAIN EXPLAIN执行计划

给 Web 前端工程师看的用 Rust 开发 wasm 组件实战 | 京东云技术团队

京东科技开发者

rust 前端 webassembly 前端组件

如何实现高效代码审查,赋能大规模开发

龙智—DevSecOps解决方案

代码审查

Wireshark中的ICMP协议包分析

小魏写代码

如何通过追踪用户旅程,找到流失用户

Footprint Analytics

区块链游戏 Web 3.0

服务器集群技术有哪几种类型

Geek_f19a80

服务器

京东面试:说说Cookie、Session和Token的区别?

王磊

Java 面试

对标世界一流!用友已与74家中央企业达成集团级合作!

用友BIP

08 | 栈:如何实现浏览器的前进和后退功能

鲁米

DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队

京东科技开发者

架构 DDD 软件设计 curd

Dapp燃烧铸币模式系统开发丨智能合约技术开发

l8l259l3365

一键自动修改和翻新OC源码,解决苹果审核4.3和马甲问题

优化开发者体验,推动API测试行业发展,SmartBear收购API设计和文档领域领导者Stoplight

龙智—DevSecOps解决方案

API

手把手带你离线部署Walrus,体验极简应用交付

SEAL安全

应用交付 应用交付平台 12 月 PK 榜 Walrus

走进厦航,体验智能会计时代的业财融合

用友BIP

智能会计 业财融合

Chris Eargle谈如何更好的管理应用_语言 & 开发_Anand Narayanaswamy_InfoQ精选文章