序章有时候,获取正确决策的唯一途径,便是勇敢无畏地说出“不”字......我们要明白,委屈专业原则以求全,并不是问题的解决之道。舍弃这些原则,只会制造出更多的麻烦......第一章:专业主义所有软件项目的根本指导原则是,软件要易于修改。如果违背这条原则搭建僵化的结构,就破坏了构筑整个行业的经济模型。不能铭记过去的人,注定要重蹈覆辙。每个软件开发人员必须精通的事项:设计模式。必须能描述GOF书中的全部24种模式,同时还要有POSA书中的多数模式的实战经验。设计原则。必须了解SOLID原则,而且要深刻理解组件设计原则。方法。必须理解XP、Scrum、精益、看板、瀑布、结构化分析及结构化设计等。实践
“我们如何证明,通过遵循“代码整洁之道”(CleanCode)就可以编写更多的代码呢?”当人们试图将“代码整洁之道(CleanCode)”的原则应用于现有的代码库时,我经常会问这个问题。我认为这是合情合理的。当我们开始重构遗留代码时,通常会将内容提取到较小的方法中。然后再将方法提取到类中。很快,我们可能就能感觉到原来30行的方法现在已经分散在不同的类中。我们想知道的是:这在实际上是否是更容易维护了呢。也许我们是一个小团队。也许我们必须支持我们继承的一个相对较大(并且没有文档记录的)的代码库。寻求代码可维护性是一件好事。错误在于,认为代码可维护性与代码行数(linesofcode,LOC)相关。
“我们如何证明,通过遵循“代码整洁之道”(CleanCode)就可以编写更多的代码呢?”当人们试图将“代码整洁之道(CleanCode)”的原则应用于现有的代码库时,我经常会问这个问题。我认为这是合情合理的。当我们开始重构遗留代码时,通常会将内容提取到较小的方法中。然后再将方法提取到类中。很快,我们可能就能感觉到原来30行的方法现在已经分散在不同的类中。我们想知道的是:这在实际上是否是更容易维护了呢。也许我们是一个小团队。也许我们必须支持我们继承的一个相对较大(并且没有文档记录的)的代码库。寻求代码可维护性是一件好事。错误在于,认为代码可维护性与代码行数(linesofcode,LOC)相关。
Djangoforms:cannotcallform.clean考虑以下堆栈跟踪:12345678910111213141516171819202122232425262728293031In[3]:f.clean()---------------------------------------------------------------------------AttributeError Traceback(mostrecentcalllast)C:\\Users\\Marcin\\Documents\\oneclickcos\\lib\\site-packag
Djangoforms:cannotcallform.clean考虑以下堆栈跟踪:12345678910111213141516171819202122232425262728293031In[3]:f.clean()---------------------------------------------------------------------------AttributeError Traceback(mostrecentcalllast)C:\\Users\\Marcin\\Documents\\oneclickcos\\lib\\site-packag
InterfaceBuilderSystemMediaLibraryEmptyiniPhone3.0SDK我在InterfaceBuilder中的系统库不包含图像或声音资源等。我目前正在使用iPhone3.0SDK。如果您知道我可以做些什么来获得InterfaceBuilder的默认媒体,我们将不胜感激。我正在使用SnowLeopard开发者预览版,以防这会产生影响。我不认为在iPhone上通过IB暴露任何系统媒体元素,仅在桌面MacOSX上。显然有几件事(如系统按钮图像、向后和向前箭头等)会很有用,但只有一小部分是公开的,在公开的地方,它们是通过传递给特定类的常量公开的,而不是您可以直接使用
InterfaceBuilderSystemMediaLibraryEmptyiniPhone3.0SDK我在InterfaceBuilder中的系统库不包含图像或声音资源等。我目前正在使用iPhone3.0SDK。如果您知道我可以做些什么来获得InterfaceBuilder的默认媒体,我们将不胜感激。我正在使用SnowLeopard开发者预览版,以防这会产生影响。我不认为在iPhone上通过IB暴露任何系统媒体元素,仅在桌面MacOSX上。显然有几件事(如系统按钮图像、向后和向前箭头等)会很有用,但只有一小部分是公开的,在公开的地方,它们是通过传递给特定类的常量公开的,而不是您可以直接使用