65.9K
CodeProject 正在变化。 阅读更多。
Home

与 Pete O'Hanlon 的程序员访谈

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.97/5 (42投票s)

2011年10月19日

CPOL

7分钟阅读

viewsIcon

65480

欢迎来到我们持续进行的 CodeProject 开发者访谈系列,在这个系列中,我们与开发者们交流他们的背景、项目、兴趣和厌恶。在本期中,我们找到了 CodeProject 的会员 Pete O'Hanlon。

欢迎来到我们持续进行的 CodeProject 开发者访谈系列,在这个系列中,我们与开发者们交流他们的背景、项目、兴趣和厌恶。在本期中,我们找到了 CodeProject 的会员 Pete O'Hanlon。

Pete 自 2003 年以来一直是 CodeProject 的会员,并且自 2008 年以来每年都是 CodeProject MVP。像 Pete 这样的开发者成就了 CodeProject 的今天,这也许就是为什么他的访谈是社区最受欢迎的访谈之一。

你是谁?

很久很久以前,在一个遥远的星系,旧共和国被一位西斯尊主推翻,建立了新帝国。为了建立帝国,他认为共和国的保护者——绝地武士,将被追捕和消灭。少数绝地武士逃过了大屠杀,散落在星系各处。我们曾在达戈巴塔图因等地方寻求庇护。这些地方的共同之处在于它们都被认为是荒凉的偏远地区。这些绝地武士一个接一个地消失,直到只剩下一位;那位被称为 Geordie Jedi 的人;这就是他的故事,以及他如何帮助塑造一个新共和国——那个被称为 CodeProject 的共和国的故事。

对于那些幸运地从未见过我的人来说,我的名字确实是 Pete O'Hanlon(对我来说没有模棱两可的假名),我在英格兰东北部经营一家小型咨询公司。我从 70 年代末就开始编写软件,从 80 年代末开始从事专业编程,那时我是一名在 HP Unix 系统上工作的 C 和 Informix 开发者。

在过去的 5 年左右,我已成为 CodeProject 论坛的半永久性常客,并撰写了一些文章,其中一些我实际上很喜欢。

作为 XAML 技术技术的倡导者,我很幸运能与一些了不起的开发者保持 regular 联系,比如 Jesse Liberty 和 Windows 编程的泰斗 Charles Petzold(他确实像他的书中所描述的那样深不可测)。

您做什么?

文书工作。很多。作为一名公司老板,我花费大量时间阅读材料和与客户交流。实际上,与客户交流是非常有益的,而且可以非常有启发性;这方面的工作让你走出开发者的舒适区,并强迫你思考交付过程的方方面面。

不出所料,我也做了很多 WPF 和 Silverlight 的工作。我在开发 Onyx 的 Silverlight 部分和 MefedMVVM 的一些工作中发挥了很小的作用,并且我写了自己的应用程序框架,名为 Goldlight,它正在从头开始重写,以成为 MefedMVVM(用于 WPF、Silverlight 和 WP7)的补充。一旦 WinRT 稳定下来,Goldlight 也将支持 Metro 应用程序。

Karl Shifflett 的启发下,我开发了一个名为 MoXAML Power Toys 的 Visual Studio 插件,它为 Visual Studio 中的 XAML 应用程序提供了生产力功能。我最近将其更新为基于插件,并在 CodePlex 上发布了它。

目前,我正在与 CodeProject 的传奇人物 Sacha Barber 合作一个项目,这个项目非常酷。我们认为它将极大地造福开发者和开发者团队。

我偶尔会记得将各种便利贴上的笔记转移到 CodeProject 的文章以及我的(有些 rambling blog)上。

您的开发环境是什么?

令人惊讶的是,我大部分时间都在使用一台性能相对较低的笔记本电脑。它是一台双核、运行 Windows 7 64 位、拥有 4GB RAM 的机器。我之所以在这台机器上进行开发,是为了能即时了解应用程序在低配置机器上的运行情况。我唯一的奢侈品是我的双显示器设置,这对我同时运行 Visual Studio 2010 SP 1 和 Expression Blend 4 至关重要。

您是如何开始编程的?

我几乎是偶然地跌入编程的。小时候,我因为矫正马蹄内翻足的手术而住院,因此有一段时间没有上学。我的父母可怜我,给我买了一台电脑,然后又买了一台。

在几年之内,我转向了通常的 ZX81、Commodore 64Spectrum 和 BBC B 等计算机,然后学习了 C 语言编程。C 语言是一个巨大的智力谜题,让我着迷,我沉迷其中,最终很幸运地得到了一份用 C 语言开发的工作。从那时起,我进步到 C++,然后是 C#,我从未回头。

您最讨厌的编码习惯是什么?

我对编码风格要求不高,所以没什么特别反感的。我只真正在意四件事

  1. 不一致。如果你有自己的风格,就坚持下去。不要随意更改,因为这会让我更努力地去理解你的代码在做什么。

  2. 我真的不喜欢冗长复杂的函数。请将它们分解,因为我脑子比较笨,一次无法理解所有内容。

  3. 将公共方法放入条件语句中,仅仅为了测试私有代码。测试私有代码应该作为测试公共方法的自然结果,你不应该添加额外的代码才能访问它。

  4. 如果你必须注释掉代码,并且不打算再将其放回,那么就完全删除它。同样,如果我必须跳过注释掉的代码,那么这会让我更难理解你的代码在做什么。

您对哪些新工具、语言或框架感兴趣?

我必须说,WinRT 是我目前最大的爱好。我目前正在研究我的公司如何从中赚钱,同时我也在用 C++ 开发一些功能,以此来满足我一些 C++ 的老情怀,这在 Windows 8 中非常容易。

开发者社区是如何影响您的编码的?

我从不停止学习。我从 CodeProject 的作者们那里学到了很多,无论是关于我正在研究的领域,还是在不相关的领域,当有人做了我能惊叹于其代码之美的事情时。

您会对一个新兴的程序员提供什么建议?

首先,离开电脑,找到自己的生活。我知道这听起来有点奇怪,从一个花这么多时间在 CodeProject 上的人嘴里说出来,但你需要有编码以外的兴趣;相信我,广阔的视野会让你成为一个更好的程序员。我首先是丈夫和父亲,其次是吉他手,第三才是程序员。

不要害怕阅读相关主题,并尝试编写一些简单的应用程序。学习新事物的最佳方式就是动手去做,所以如果写一个控制台计算器应用程序能帮助你掌握一门语言,那就太好了。

编码需要纪律。编写单元测试。考虑你的例程的输入,并尝试处理好和坏的情况。

交付软件不仅仅是编写代码。倾听你的客户想要什么;不要试图向他们推销炫酷的技术,只是为了你自己能玩一玩,要真正弄清楚什么能解决客户的问题。

回馈社区。我花了一段时间才开始在论坛上帮忙,但我最终开始回答问题,这只是为了感谢那些在我刚开始在 CodeProject 上时帮助过我的人。如果你提供好的答案,你作为开发者也会成长,这应该有助于你的职业生涯。

最后,不要害怕其他程序员,无论他们的声誉如何。你的意见同样有效,所以不要让自己被恐吓。但如果你错了,承认它,然后继续前进。

© . All rights reserved.