10 Common Mistakes for Young Developers

Matcha Design - Wednesday, December 31, 2014

As a companion piece to our previous blog post “10 Common Mistakes for Young Designers,我们决定着眼于web开发的更技术性方面. 通过我们多年来对不同网站的观察以及与不同开发者的对话, 我们已经确定了10个您可以避免的最常见的开发错误. Without further adieu, here's our top the list, in no particular order.


1. Messy code with no comments
Many developers, especially one-person shows, feel like they can toss out code and just remember everything they did, making it a snap to maintain even years down the road. 这里有一个来自这种类型的个人秀的暗示:这是极不真实的.

Just because code runs doesn’t mean it’s maintainable. All developers should be in the habit of properly indenting their code, 因此,如果他们需要回过头来看,他们至少可以一眼看到程序结构的概览. 使用像三元运算符这样的构造可以帮助加快开发,但也会创建一些难于人类解析的代码. This can be painful for any developer who might come along after you.

As a further courtesy to the next generation, we always recommend that developers comment their code, at least for the higher functions. 其他开发人员,甚至可能是你未来的自己,都会感谢你的勤奋.

2. Overcommitting
我们都喜欢显得与众不同,但我们必须小心不要贪多嚼不烂. “I can get that done in an hour!” sounds great to the boss … for the first hour. 重要的是要彻底评估情况,并为失败留出足够的时间. If you say two hours and get done in one, great! But if you say one hour and are still working on it in two … not great.

3. Undercommitting
Sometimes called the Droopy Dog syndrome, 当开发人员只能看到项目中所有可能出错的地方时,就会出现这种情况. 因此,他们花了太多的时间来处理不存在的问题. 在几个超时的项目之后,老板就不会再听开发人员的评估了. As all experienced developers know, 允许管理人员单独设定编程的最后期限肯定会导致灾难.

开发人员会随着时间的推移而学会如何平衡过多和不足的承诺, and even highly experienced programmers can still get it wrong. As you gain experience, 最终你将能够做出管理层愿意接受的自信评估. Keep at it!

4. Ignoring security
It’s very easy to create a simple web form, 让表单发送电子邮件或将其内容保存到在线数据库只会稍微困难一点. It’s also very easy for a malicious user to break a simple web form, make it send spam to thousands of innocent victims, and delete (or download) the contents of an online database.

Without an eye for security, 即使是最不起眼的网页上最无害的形式也可能成为不幸行为的载体. 忽视这种可能性的开发人员可能会将自己和客户置于财务风险之中.

The PCI Security Standards Council 维护一系列通用的安全标准供公司遵循,包括网络安全. 所有创建或维护任何与网络相关的东西的开发者都应该熟悉这些标准,并努力跟上它们的步伐.

5. Ignoring version compatibility
Eventually, everything goes out of scope: operating systems, programming and markup languages, server software, browsers, everything. 优秀的开发者会努力跟上任何即将到来的变化,并为长期游戏制定计划. But there’s another balancing act at work here, 因为最尖端的技术几乎总是最多的问题, 将新技术叠加在新技术之上是自找麻烦.

For the greatest safety, developers need to consider the best, most current versions of all their software, trafficking mostly with known good configurations. This doesn’t mean they shouldn’t experiment with exciting new technology, 但也很容易被“下一个大事件”的热情所淹没,之后就会遇到麻烦. For production environments, it’s almost always best to play it safe.

6. No testing
This is a common problem in high-pressure, time-sensitive environments. However, 即使有一点空闲时间的开发人员也会犯严重的错误,因为他们在发布之前没有尝试测试他们的软件. 即使找到并消灭一个bug,也不会给您的记录留下什么潜在的污点.

7. Using jargon in non-technical situations
作为开发者,我们需要在很短的时间内处理大量复杂的概念. In our insular areas, among our own kind, 我们使用技术术语,以至于那些没有沉浸在我们术语中的人可能会想知道我们说的是什么语言.

Jargon is fine, even necessary, in work situations. The danger, though, 仅仅因为和你一起工作的人都理解你的演讲,你就会这样想吗, that everyone in the world should understand you. This is annoying in itself, 但更糟糕的例子是,开发者认为那些不理解他们模式的人受教育程度很低, 或者利用他们的技术知识推断他们属于一个秘密团体. Some programmers eventually grow out of it, but others are a lost cause. Don’t be one of those people and you’ll go a lot farther in life.

8. Not knowing when to stop programming
在很多方面,程序员都是艺术家,他们只用自己的思想创造新事物. 和许多美工一样,程序员也会陷入“再做一次调整”的心态中. 提高程序的速度和效率几乎总是可能的, but in the end, you just have to let it go (to release state, and then eventually to maintenance mode). 我们可以把自己的灵魂投入到一个项目中,但结果并不是我们真正的孩子, no matter how we may talk about it. 完成它,检查它,把它送出去,去做别的事情.

9. Not retaining passwords
这可能是这个列表中最具争议的一项:始终保留客户的服务器环境和CMS密码. 如果你维护了他们的电子邮件环境,保留这些密码也不是一个坏主意. Make sure the passwords are secure, of course, but never delete them unless a customer specifically asks you to. The time savings are immeasurable, 尤其是在你部署了他们的网站很久之后,他们的网站发生了灾难性的事情. (Provided they haven’t lost the password in the meantime!)

10. Misconfigured server environments
This one is easy to do wrong and often a headache to fix. Setting up servers requires several things to come together at once. The domain name needs to be registered and pointing to the correct nameservers; the nameservers need to be pointing to the correct IP address; the IP address has to be set to the correct server; the server needs to be watching that IP address and prepared to load files from the correct local directory; the website needs to be uploaded to that specific directory; the database needs to be correctly built, populated and running; the programs all need to be pulling from the correct database with the correct permissions; the server needs to have an up-to-date certificate from a third-party authority if the website is secure; and so on and so on. 如果这些项目中的任何一个做错了,即使是一个字符,没有任何工作. Always double-check every entry before, during, and after launch, and you won’t wind up with egg on your face.

About Matcha Design
Matcha Design is a full-service creative agency specializing in web designprintidentitybrandinginterface designvideo productionstill photography and motion design. Using our passion for excellence, multi-cultural background, and award winning practices, we consistently provide high-quality, custom, innovative solutions to meet the diverse marketing needs of our clients. For more information, visit www.MatchaDesign.com.