编写软件对于缺乏人际沟通能力的人来说是一个好职业
当你最终发布了新的应用或是网站,就意味着一切结束了
唯有一种方法能将开发实施得最好,程序员的自由被所用的语言严格束缚
软件开发最重要的是需要好的数学能力,最好的学习方法是学习理论的计算机科学,数学能力强的也能写出好的软件解决逻辑难题的能力是判断一个软件工程师能力在最有效方法
不需要理会市场反应,应该让市场来适应软件
你可以用正则表达式来解析html:stackoverflow.com
瀑布模型是在实施软件之前最行之有效的描述系统的模型,它能帮助软件实施时循序渐进,而非循环反复人们一直当它是一个好的实施方案,而一篇论那些是开发工具文中恰好将它列为很差的实施方案,因此引起广泛讨论
有某种语言、技术或是流行方法将会是杀手锏,能够取代你正在使用的方法,解决你的问题
软件就是表面上看到的,设计后面发生了什么不需要引起我们的注意,尤其对于那些非技术出身的经理和客户来说更是这样
软件可以有效的用其他媒介来模拟和设计,例如wireframes或photoshop comps,因为用实际的代码来设计(html和css)太难,太贵了
译文出自:伯乐在线
本文译自quora的同名问答贴:软件开发中最流行的错误观点有哪些? lee semel给出的答复得票数最高,他列出了一些流行的错误观念:
有多于一种方法来完成一个任务,程序员有完全的自由
对象是对现实世界开发工具是什么最好的描述
设计样式是通用的,而不像某种编程语言的表达式一样有诸多限制
最好的技术方法就是最好的方法
软件可以基于一系列的抽象的基础之上可靠的构建,你仅需要理解最上的抽象层,而不需要了解背后的实现细节参看joel spolsky关于抽象漏洞定律的讨论:
设计师们不能也不需要学习写代码,应该尽量远离真实的代码
逻辑应该和显示完全分离开
软件可以被精确估计
软件开发可以被当作固定价格、固定限期的项目出售
对规范文档的认同意味着对实际功能的认同,甚至规范文档本身写的很模糊或是有出入也要遵守规范文档
javascript和java有关系
设计仅仅是表面上的装饰,其重要性没有好的开发重要
英文出自:quora
用户知道他们想要设计开发测试工具什么,他们也能够将需求阐述清楚
数据应该隐藏在对象后面,对象应提供操作数据的需要的所有方法
人月神话里说,在一个开发团队中增加人手会让效率成线性增长