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

与 Michael Sync 的程序员访谈

starIconstarIconstarIconstarIconstarIcon

5.00/5 (7投票s)

2011年11月17日

CPOL

5分钟阅读

viewsIcon

24867

欢迎来到我们持续进行的 Code Project 开发者访谈系列。在本系列中,我们将与开发者们交流他们的背景、项目、兴趣和最头疼的问题。本期,我们将采访 Michael Sync。

欢迎来到我们持续进行的 Code Project 开发者访谈系列。在本系列中,我们将与开发者们交流他们的背景、项目、兴趣和最头疼的问题。本期,我们将采访 Michael Sync,他是 Facebook 上 CodeProject 粉丝群 的发起者。

你是谁?

我叫 Michael Sync (Soe Htike),目前与我亲爱的妻子 "Shwesin" 和我美丽的女儿 "Elena" 一起住在新加坡。我在新加坡一家名为 Simulation Technology 的公司担任架构师/高级顾问。我还是 Silverlight MVP。在我获得该奖项时,Silverlight 领域只有 5 名 MVP,但我们的社区发展得非常快,现在你可以看到很多 Silverlight MVP。我目前正与两位非常棒的作者一起为 Manning 出版一本书,名为《Windows Phone 7 in Action》。

您参与过哪些项目?

我目前在 Simulation 公司的一个 WPF 项目中工作。当然,我们在这个项目中使用了所有常用的技术,比如 MVVM、DI 和 TDD。有趣的是(至少对我来说),我们在这个项目中首次使用了具有迁移功能的 Entity Framework 4.1 (update)。我等待这个功能已经很久了。我很高兴 EF 团队最终成功发布了它。我还期待 EF 团队支持枚举和空间数据类型。

在加入 Simulation 之前,我曾使用 SilverlightWP7 为 Memolife 开发了一款脑力训练游戏。我们甚至作为 WP7 首批提交到 Microsoft 市场的一员,发布了一款免费游戏

您的开发环境是什么?

由于我们的项目都基于微软技术,C# 是我使用最多的语言。几个月前我开始学习 Go 语言,并尝试用它写一个小项目。

如果我有更多空闲时间,将来我希望能学习一些函数式编程语言,比如 Haskell。

硬件方面,办公室使用的是 Acer Windows 7 64 位 Intel i7 工作站,家里使用的是 Dell 工作站。(我去年买的,觉得它功能强大。我在这篇博文中详细介绍了配置。)

工具和服务器

在软件开发方法论方面,我喜欢使用 Scrum 和 XP。

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

目前,我对 Go 语言、Node.js 和 NuGet 非常感兴趣。我现在花更多时间学习 Go 并做一些小项目。一旦我熟悉了 Go,我就会花时间研究 Node.js。

就微软技术而言,我也很想为 NuGet 做出贡献。NuGet 是唯一一个允许我们从微软那里贡献代码的开源项目。在我看来,所有 .NET 开发者都应该至少贡献一次,即使只是修复一个小 bug,因为这个项目可以成为微软认识到开源代码和接受社区贡献的巨大好处的绝佳范例。:)

哦不!请不要说 Silverlight MVP 没有谈论 Silverlight。我正在关注 Silverlight 5 和 Metro Xaml + C# 应用程序开发。我们都知道关于 Silverlight 的传言,说实话,我也有点受伤。

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

嗯,我不喜欢上帝类/方法、奇怪的命名等等。我理解有时候我们为了赶项目而仓促行事,无法写出我们想要的优美代码。对于那些在紧张日程下工作的人,我的建议是,即使如此,你仍然可以注意一些小事情,比如给予事物有意义的命名,并遵循单一职责原则。但一定要尽量找时间进行重构,越快越好,在你忘记自己的技巧之前。

我喜欢 K&R 命名约定。我使用驼峰式命名法,私有字段不带下划线前缀,所有公共事物、方法等都使用帕斯卡命名法。我喜欢使用“var”,但当右侧表达式的类型不明确时,我不会使用它。

var products = GetProducts();  // No

您是如何开始编程的?

我从小就喜欢玩电子游戏。有一天我问我爸爸如何创造这些游戏。他告诉我我需要学习编程才能创造它们。这就是我开始对编程感兴趣的原因。

由于很多原因,我直到大学二年级才拥有第一台电脑。我不记得配置了。

我的第一门编程语言是 C,因为这是大学一年级教的。然后我学习了 C++ 和 Pascal。

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

我热爱开发者社区。我尊重每一个参与社区并互相帮助的人,即使他们没有为开源项目做出任何贡献。

事实上,我活跃在许多不同的社交媒体网站上。我在 Facebook 上创建了 CodeProject 群组,并在我的网站 michaelsync.net 上撰写博客。你也可以在 Twitter 上关注 @michaelsync,或者查看我在 LinkedIn 上的个人资料。

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

积极参与社区,并利用你的时间做有意义的事情。平衡你在电脑前花费的时间和你进行的体育活动。

© . All rights reserved.