写点什么

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:101460
用户头像

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

关注

评论

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

手写的第一个 Java 应用程序,执行的时候发生了什么?

白色蜗牛

Java

翻云覆雨——前景理论之隔离效应

Justin

心理学 28天写作 游戏设计

uni-app 和 flutter 的区别

anyRTC开发者

flutter uni-app WebRTC 跨平台

android开发板!Android开发你需要了解的那些事,大牛最佳总结

欢喜学安卓

android 程序员 面试 移动开发

Webpack 基石 tapable 揭秘

vivo互联网技术

大前端 webpack 流程管理 tapable

二十张图让你一分钟全面学习数仓建设之路

初学大数据

大数据 数据仓库

Markdown中的图标为什么不是图片却可以以图片方式显示

happlyfox

28天写作 3月日更

电子产品如何使用IAP方式升级程序

不脱发的程序猿

嵌入式 iap 28天写作 3月日更 产品升级

波场环球系统开发|波场环球软件APP开发

系统开发

寻找被遗忘的勇气(十)

Changing Lin

3月日更

【LeetCode】基本计算器Java题解

Albert

算法 LeetCode 28天写作 3月日更

熬夜重构了IDEA插件Toolkit(整合程序员常用的工具箱),更加便捷

Silently9527

Java 程序员 idea插件

成为你向往的那只独角兽 - 《独角兽项目》出版在即

京东科技开发者

DevOps

DDR4看这一篇就够了

Kevin Z

一文读懂Apache Flume概念、使用和原理

大数据技术指南

大数据 28天写作 3月日更

垃圾代码和优质代码的区别?

xcbeyond

Java 优化代码 3月日更

CloudQuery v1.3.4 版本更新

BinTools图尔兹

oracle 运维 编辑器 sql 数据库管理工具

一杯茶的功夫,上手Redis持久化机制

老崔说架构

redis 缓存 aof

超震撼数据可视化工具

不脱发的程序猿

大数据 数据分析 数据可视化 28天写作 3月日更

如何使用jsDelivr+Github 实现免费CDN加速?

xiezhr

CDN jsDelivr CDN CDN加速 jsDeliver

在CentOS上安装MySQL,并使用DataGrip远程管理

pyfn2030

centos SSH MySQ datagrip

《精通比特币》学习笔记(第六章)

棉花糖

区块链 学习 3月日更

区块链赋能农产品溯源,农产品质量安全追溯

13530558032

所见即搜,3分钟教你搭建一个服装搜索系统!

华为云开发者联盟

框架 深度学习框架 mindspore Jina 服装搜索系统

大作业(一)

cc

android开发教程!写给安卓软件工程师的3条建议,一线互联网公司面经总结

欢喜学安卓

android 程序员 面试 移动开发

密码学系列之:内容嗅探

程序那些事

加密解密 密码学 程序那些事 内容嗅探

一个PHPer的Golang之路

万俊峰Kevin

php 微服务 Go 语言

带你轻松理解数据结构之Map

蛙人

JavaScript 大前端

智慧组工党建系统-数字赋能组织工作

13530558032

美团优选大数据开发岗面试真题-附答案详细解析

五分钟学大数据

大数据 面试 28天写作 3月日更

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