代码之家  ›  专栏  ›  技术社区  ›  Sri

在组织中构建PHP能力[关闭]

  •  8
  • Sri  · 技术社区  · 15 年前

    这不是一个真正的技术编程问题,而是与最佳实践和编程/项目管理过程有关。以下是一些背景信息:

    我是一个敏捷(Scrum)软体开发资讯公司的顾问,专门从事Java、J2EE、Flex技术栈。

    在这里,许多人普遍认为PHP相关人员、项目等的质量与Java相比并不理想。虽然我经常反驳这一说法,但我也承认进入PHP的门槛总体较低,这确实偶尔会吸引低质量的人,而这些人随后会产生低质量的工作。

    对我们来说,质量第一。在接下来的几个季度里,我们还希望开发出一个非常高水平的PHP能力。我们希望达到最高的质量水平,我们的过程应该是这样的,我们不断改进,同时从一个高水平开始。

    我们的新员工正在经历一个严格的选拔过程,其中有一个非常实际的技术任务。我们评估他们如何编码,我们评估他们如何测试代码,我们用行业标准框架(Zend、Cakephp、CodeIgniter/Kohana、Symphony)评估他们的技能。

    我们有两个月(一个月两次)的知识交流活动,鼓励个人参加。我们也有实际行动。

    我想请您分享一下您的经验,我们作为个体,一个扁平、灵活、相对较小的组织如何能够灌输优秀的PHP开发实践,并不断改进自己。

    谢谢, SRI

    5 回复  |  直到 12 年前
        1
  •  2
  •   Paul Nathan    15 年前

    最好的方法是确保你只雇佣那些想变得更好的人。 然后,当他们在寻求更好的过程中犯错时,你必须支持他们。这样他们就不怕尝试新事物。

    我在美国听过这样一句话:“雇佣GPA低于3.9(4.0中的一个)的人”;这反映了雇佣那些做得不完美的人的目标(也就是说,他们学会了如何不完美)。

    “精益”心态是实现更好的最好方法之一,它催生了敏捷方法论,同时也催生了大量制造业的成功案例。

    一般的想法是不断地参与到自我评估的迭代过程中,不要浪费资源或在工作流程中有阻塞。当然,这需要小心处理:研究项目定义太不明确,几乎不能放到装配线中,而且很多软件开发都是如此。 研究。

    对于一种语言,您的开发人员需要了解最新的安全问题,他们的安装需要由IT人员保持最新,公司应该资助一些学习材料,无论是课程、书籍、会议,还是您拥有的内容。

    总的来说,最重要的概念是 质量是每个人的事,花点时间把它做好是可以的。 .

        2
  •  7
  •   Jon    15 年前

    我个人认为良好的开发实践超越了语言。您对PHP项目的要求应该与Java的要求相同。例如,代码应该是清晰的、注释的、格式良好的、经过测试的,就像任何其他语言一样。

        3
  •  4
  •   mattbasta    15 年前

    我认为最重要的第一步是制定标准。设置一个强制的编码样式(没有一行if/for/while/etc.语句、制表符而不是空格、每个函数上的文档等);对代码的清洁度有最低要求对于保持高水平的质量控制非常重要。

    一个好的下一步是找出你的员工在哪里能干,在哪里不能干。找出你的员工在使用哪种语言方面有困难(例如:新的php 5特性,高效地使用domdocument,编写安全类…)并指定强制阅读。

    这让我直接进入了我的下一个建议:有一个“公司图书馆”。对于我工作过的地方,这是一个书架,员工可以借书参考或学习。把它和来自不同出版商的各种书放在一起。从我所看到的,如果不是强迫员工学习新东西,员工更愿意学习新东西,而且他们可以在闲暇时学习。一个好的程序员总是想学习。

    最后,创建一个鼓励员工定期参与的博客/邮件列表/论坛。发布关于最佳实践的小道消息(并鼓励员工也发布)。你可以发布如何使用 gettype 使用switch语句是错误的,或者如何以编程方式正确禁用magic引号。

    祝你好运!

        4
  •  2
  •   Timo Geusch    15 年前

    显而易见的技术是定期的代码审查和结对编程;如果您可以将其用作向新员工灌输最佳实践的工具,那么后者尤其重要。确保那些更接近于编写好代码的理想的开发人员可以花足够的时间来教其他开发人员。

    不幸的是,如果你雇佣的人已经决定他们已经知道了所有他们需要知道的东西,那么这些都是毫无意义的;确保你雇佣的候选人想要成为更好的程序员,并且愿意为此工作。

        5
  •  1
  •   jerebear    15 年前

    以上所有的答案都有很好的要点要听。希望这只是个补充。

    最重要的是它需要实践。绝对不要和那些认为自己完美或不需要太多成长的人较量。我认为我是一个很好的程序员,但我能看到很多成长的机会。

    依靠其他程序员的智慧和经验。给他们一些好的阅读材料,其中突出显示了他们如何处理或影响您的组织。

    如果知道“想要”变得更好的重要性,那么“想要”变得更好就容易多了。支持犯错和成长是存在的,目标是明确的和可实现的。