I've been working with a small group of people on a coding project for fun. It's an organized and fairly cohesive group. The people I work with all have various skill sets related to programming, but some of them use older or outright wrong methods, such as excessive global variables, poor naming conventions, and other things. While things work, the implementation is poor. What's a good way to politely ask or introduce them to use better methodology, without it coming across as questioning (or insulting) their experience and/or education?
当前回答
通过例子。告诉他们正确的道路。
慢慢来。不要因为他们的每一个小错误就立刻痛斥他们,要从真正重要的事情开始。
其他回答
我很喜欢代码,在我的生活中从来没有上过任何与信息学相关的课程,我一开始很糟糕,开始从例子中学习,但自从我读了“四人帮”这本书以来,我一直记得并一直在我的脑海中:
“每个人都能写出机器能理解的代码,但不是所有人都能写出人类能理解的代码。”
考虑到这一点,在代码中有很多事情要做;)
使用一些wiki软件在你的网络上创建一个wiki。
在你的网站上开始一个叫做“最佳实践”或“编码标准”的类别。
把每个人都指向它。允许反馈。
当您发布软件时,让负责将代码放入构建中的人员向开发人员推送,让他们指向上面的Wiki页面。
我曾在我的组织中这样做过,人们花了几个月的时间才真正熟悉使用Wiki,但现在它是一个不可或缺的资源。
你必须解释为什么你的方法更好。
解释为什么函数比剪切和粘贴更好。
解释为什么数组比$foo1, $foo2, $foo3更好。
解释为什么全局变量是危险的,而局部变量会让事情变得更容易。
简单地提出一个编码标准,然后说“这样做”是没有价值的,因为它没有向程序员解释为什么这是一件好事。
没有人喜欢听别人说他们的工作很糟糕,但任何理智的人都会欢迎指导和避免不必要工作的方法。
有一种教学流派甚至说,你不应该指出错误,而应该专注于做对的事情。例如,与其指出难以理解的代码不好,不如指出他们的代码特别容易阅读的地方。在第一种情况下,你会引导其他人像蹩脚程序员一样思考和行动。在后一种情况下,你会像一个熟练的专业人士一样思考。
这完全取决于你写作的文化。在一个自由软件项目中,你告诉他们他们写的代码不好,并给出积极的建议、改进方法和反馈。你也可以给他们的代码发送一个补丁。
一封友好的电子邮件也不会有什么坏处。
推荐文章
- 你如何告诉别人他们写的代码不好?
- main()中的Return语句vs exit()
- 对于一个布尔字段,它的getter/setter的命名约定是什么?
- 为什么CSS选择器/ HTML属性首选破折号?
- 在c++中使用"super
- 在PHP中使用getter和setter而不是函数或简单的公共字段有什么优点?
- foo到底是什么意思?
- 什么时候使用“this”关键字?
- 对Python ' import x '和' from x import y '语句排序的正确方法是什么?
- 在Python中创建空列表
- 将c++定义放在头文件中是一个好习惯吗?
- 使用“for”循环遍历c++ Vector
- 在条件表达式中检查可空bool值的最佳方法(if…)
- 如何在JavaScript中设置多个CSS样式?
- 字典和默认值