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

与 Paul Griffin 的程序员访谈

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.96/5 (73投票s)

2011年9月21日

CPOL

6分钟阅读

viewsIcon

77566

欢迎收看我们持续进行的 Code Project 面试系列,我们将与开发者们探讨他们的背景、项目、兴趣以及让他们抓狂的事情。在本期中,我们找到了 Code Project 的会员 Paul Griffin。

欢迎收看我们持续进行的 Code Project 面试系列,我们将与开发者们探讨他们的背景、项目、兴趣以及让他们抓狂的事情。在本期中,我们找到了另一位杰出的 Code Project 会员 Paul Griffin

Paul 加入 The Code Project 相当晚,但通过乐于助人的问答以及风趣的 Lounge 闲聊,他已经赢得了极高的声誉。

你是谁?

我是 Paul Griffin,住在 威尔士 Powys 的 Ystradgynlais 附近。幸运的是,我是一名自由职业者,在家工作,所以我的日常通勤大约是六英尺,而且我很少抱怨路上的交通拥堵……作为一名独立的“一人乐队”,我可以随心所欲地给自己起任何职位,但通常会选择“软件工程师”或在社交场合自称“Exchange & Mart 的音乐评论家”,Exchange & Mart,这样可以减少那些要么立即终结对话,要么继续变成“你能帮我修电脑吗?”的谈话。

您做什么?

我为 Windows、网站和嵌入式设备开发软件——其中嵌入式设备是我的挚爱。因此,我经常使用 C 和嵌入式 C++C# 以及各种汇编语言,虽然我也能应付 Visual Basic。对于 Windows,我几乎完全使用 .NET Framework,尽管我开始时使用的是 MFC 和 C++ 的 V1.0 版本。(我现在碰都不想碰。)

至于客户,出于通常的原因我无法透露,但我曾参与过工业喷墨打印机、仅供监听的 LAN 卡、金融信息数据收集、超声波测厚仪以及各种其他设备和应用程序的开发。

您的开发环境是什么?

我的硬件和软件 pretty much 已经过时了:一台双处理器 Xeon 2GB HP 电脑,拥有约 2TB 存储空间,加上 NAS 备份存储双倍的容量,通过千兆网络连接,以及一个显示器。我使用一台 Epson 打印机,上面沾满了猫毛,但我的窗户可以俯瞰外面比我年龄还大的苹果树。

输入设备是 Logitech Trackman 倒置鼠标(因为我喜欢它们)和一个 Wacom 数位板,配有压感笔,用于图形工作。

软件方面,我使用 Visual Studio 2008,因为我还没有需要升级到 Visual Studio 2010,尽管我大约六个月前已经安装了它。其他软件 OpenOfficePaintShopPro 9(Corel 接手之前的最后一个版本,bwwwaaaa)、SVNSQL Server 2008 R2ChromePSPad 程序员编辑器和 Expresso 满足了我大部分需求。

在我最初回答这个问题大约一年后,我更新了我的硬件,但我没有更新这个!

所以……它仍然不是最先进的——甚至相差甚远——但现在它是一台 Acer X1920:双核 E6700 处理器,4GB 内存,1TB 硬盘,集成显卡被禁用,取而代之的是一块 GeForce 8400,外加一块 USB3.0 2TB 硬盘和 Windows 7,NAS 现在是 4TB 的 RAID5。打印机上的猫毛少了,我把办公室搬到了楼下的旧冷藏室,所以不再能俯瞰苹果树,但我离前门更近了,而且比以前的地点更有“办公室”的感觉。我还更新了双显示器,在 2013 年 2 月升级到两个 22 英寸显示器,一个竖屏用于浏览/阅读/写文档,一个横屏用于 Visual Studio。现在是 2010 而不是 2008。我还在考虑将 PaintShop Pro 升级到 64 位版本,但这需要和 Corel 打交道,所以我仍然非常抗拒。

Open Office 被 Office 2010 取代,因为它太……业余了,而且 Outlook Express 在 Win7/64 下无法运行。我仍然讨厌 Word,仍然喜欢 Excel,而 Ribbon 仍然是一个大麻烦。

我还将 Sil 添加到了我的“非常有用的工具”列表中:查看 C# 代码的中间语言[^],并勉强同意忍受 Steam 以便运行《Duke Nukem Forever》。但是……它与原版相比太线性了,我还没有完成它,所以我怀疑我没有获得最好的交易 :laugh

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

目前,我专注于 C# 进行 Windows 和 Web 开发。我曾涉足 WPF,但总觉得它不够成熟。我正在回避云计算,直到它成熟并且你能明确它将如何发展。我记得大型机时代,真的不希望我的所有数据都失去控制!

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

编码的令人抓狂之处?计算课程中缺乏关于 SQL 注入攻击 的教育。这是犯罪。

使用控件的默认名称。愚蠢!

将注释推迟到以后,因为“我会回来看的……”烦死人了!

喜欢的命名约定?我试图坚持 驼峰式命名法,但 匈牙利命名法 曾经非常有用,以至于我发现很难放弃——我仍然会自动将按钮命名为“butXXX”,整数命名为“iXXX”等等。我会努力改正!

缩进?很简单:缩进到代码块,每个允许单个语句的地方都定义一个代码块,所以每个 if、每个 for 都有一个代码块,即使它只包含一个语句。过去曾因此吃过亏,再也不会了!

if (condition)
   {
   statement;
   }

我不喜欢 K&R 风格,因为我认为它不一致:如果一个单条语句需要缩进,为什么整个代码块不需要?但我真的非常讨厌 1TBS 风格!

您是如何开始编程的?

我必须小声说这个部分:在 ICL 1900 上运行 GEORGE 3 操作系统的 Cobol,使用打孔卡,在大学期间。六台打孔机,600 名学生,一台可以打印在卡片上的机器。有精神病的计算机操作员,他们积极憎恨学生(我一点也不怪他们)。

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

开发者社区里充满了慷慨、聪明的人,他们愿意花费时间和精力来帮助他人。它也充斥着那些笨手笨脚、连地图都找不到自己屁股的混蛋。区分这两者是一个大问题。

十年后,我希望还能在这里,大致做着和现在一样的事情。我从初级程序员开始,通过在三家公司工作,一路晋升到总经理。然后,我骑着一辆商店借给我一天的全新 Ducati 摔断了锁骨,患上了冻结肩,并且四年无法工作,因为我无论去哪里都会痛苦不堪,而且无法使用电脑。最后,我意识到我不需要我没有意识到的压力,并决定放慢脚步。我对现在的生活很满意,所以除非万不得已,我不想改变!

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

培养一副厚脸皮、幽默感,并倾听你的用户。之后,从头开始用汇编语言学习嵌入式设备编程。你将更能理解和欣赏 IDE 和调试器!

历史

2014 年 4 月 29 日:硬件和软件已更新。

© . All rights reserved.