没有合适的资源?快使用搜索试试~ 我知道了~
首页《开发者代码指南》:专业程序员的实战智慧与策略
《开发者代码指南》:专业程序员的实战智慧与策略
需积分: 0 0 下载量 113 浏览量
更新于2024-07-27
收藏 10.02MB PDF 举报
"The Developer's Code" 是一本专为专业开发者量身打造的指南,由 Ka Wai Cheung 所著,旨在提供一种既非传统又能反映现实编程技巧的独特视角。这本书不仅仅是一本教你遵循常规规则的编程手册,而是旨在帮助读者深入理解软件开发的本质以及如何在这个行业中立足。 书中,作者采用了一种强有力且聚焦的方法,避免了在众多博客中常见的陈词滥调,而是分享了作者丰富的实战经验和实用的指导原则。对于初级程序员来说,这是一本启发思考、引导他们入门的宝典;对于经验丰富的专家,它则像一个温馨的提醒,提醒他们在不断变化的科技世界中保持敏锐和持续学习。 书中的章节结构紧凑,每一条建议和教训都被精心设计,便于读者消化吸收,即使是最忙碌的开发者也能从中找到有价值的"一口大小"的知识点。例如,读者可以快速掌握一些高效编程的秘诀、应对现代开发环境快速变迁的策略,以及如何在生活中实践程序员的职业道德和最佳实践。 本书得到了多位业界知名人士的认可,如 Derek Sivers(CDBaby 的创始人)赞扬其为程序员的生活准则,Bob Walsh(47 Hats 的创始人兼作者)则强调了书中的实用性和作者的经验之谈。Adam Hoffman(资深开发领导)也表示,这本书是充满智慧和实用建议的宝库,对现代开发者来说不可或缺。 《The Developer's Code》是一部融合了理论与实践、传统与创新的编程指南,它不仅教会读者编写代码,更是在职业道路上提供了一盏照亮前行道路的明灯。无论是寻求职业提升还是寻找对软件开发本质的理解,这本书都是值得投入时间和精力去阅读和探索的资源。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/4763340/bg10.jpg)
Essay 2
Plan Enough, Then Build
In traditional architecture, planning is essential. Certain
things unequivocally have to happen before others. Studs
go i n before plum bing. P lumbing is i nstalled before the w a l l s .
The w a l l s have to be there before the paint.
Undo
,
Cut
, or
R e v e r t
aren’t viable options when building a skyscraper.
The software
Undo
is
C
TRL
+
Z
. The software
Cut
is
C
TRL
+
X
. The
software
R e v e r t
is a code rollback in source control.
W i t h o u t the luxury of these v e r y simple y e t powerful ges-
tures, buildings require v e r y detailed specifications. One
foot short is the difference between a profitable piece of real
estate and a catastrophic front-page headline.
Let’s pretend w e ’r e traditional architects afforded all the
shortcuts of software development. It w o u l d be a dream
w o r l d . Materials w o u l d be infinitely available. W e could
build a life-size model of a building in a few w e e k s . W e
could stress test suspension bridges over and over again. If
a bridge broke, who w o u l d care? W e could instantaneously
replicate ten new ones in a few minutes!
report erratum • discuss
Plan Enough, Then Build • 7
Download from Wow! eBook <www.wowebook.com>
![](https://csdnimg.cn/release/download_crawler_static/4763340/bg11.jpg)
Of course, all of this is mere fantasy. So, writing specifica-
tions in excruciating detail makes the most sense when w e ’ v e
decided to build a skyscraper.
On the other hand, these are the luxuries of our industry.
Software components don’t need to w a i t on a shipment of
letters and numbers from the local factory. W e type, compile,
test, and repeat. W e can test code on the real product, not
some model of the real product. W e have the luxury of
w a t c h i n g our suspension bridges break hundreds of times
while in development, in all different places, under all dif-
ferent conditions, without the w o r r y of w a s t i n g materials
or putting people’s lives in jeopardy. W o r k i n g this w a y is
completely feasible. When w e finish software, the same
application can be duplicated 1,000 times with negligible
human effort.
When the developers of the W y n n Hotel in Las V e g a s built
a virtually identical twin hotel called the Encore in 2008,
they didn’t have the luxury of copying and pasting the first
v e r s i o n into the v a c a n t lot next door. They had to start with
specs and planning just to build a nearly identical structure.
Even when software meant shipping code on a disk, plan-
ning extensively still made a lot of sense. Meanwhile,
w e b - b a s e d software is a different game. Planning through
v e r y detailed specifications prior to writing a line of code
still has merits, but it doesn’t fully take advantage of the
medium. W e can release new builds daily or hourly or
whenever w e w a n t , with v e r y low overhead, from the com-
fort of our cushy Aeron chairs.
Fortunately, as an industry, w e ’r e starting to break through
the metaphor. Agile development isn’t revolutionary; it’s
just untying us from a metaphor that doesn’t make as much
sense today as it did in the past. That’s not to say that tradi-
tional w a t e r f a l l development is obsolete. It still has its merits
on larger, more complex software projects. But following
that metaphor without question might also blind us to an
approach that better fits the medium w e w o r k in.
The “plan, plan, plan” metaphor overvalues the time w e
spend trying to get everything perfect and undervalues the
time w e could be spending writing the actual code.
8 • Chapter 2. Metaphor
report erratum • discuss
Download from Wow! eBook <www.wowebook.com>
![](https://csdnimg.cn/release/download_crawler_static/4763340/bg12.jpg)
Essay 3
Launch Is Just the First Release
T r a d i t i o n a l l y , w e ’ v e approached a launch date as a mission-
critical point in time when software must be final. There’s
no going back.
For buildings and structures, that’s essential. In software,
the metaphor made sense at one time too. When w e shipped
software on floppy disks and CDs, things had to be just right.
There w e r e huge cost and time implications for bugs. Projects
w e r e delayed for the sake of getting it perfect or for the sake
of shoving in a new feature. I’ll talk about what that does
for morale in the next chapter.
T o d a y , w e b - b a s e d applications aren’t launched; they’re up-
loaded, released, and pushed. Software lives and matures
over time.
Once w e ’ v e launched, iterations 2, 3, and 20 can come a few
days or even a few hours later. Even the concept of formal
v e r s i o n releases of software is antiquated. It made sense in
the bygone days of shipping software on disk.
T o d a y , w e continuously integrate and constantly iterate.
Unlike the auto industry, there’s no need for mass recall.
T o d a y , a critical bug can be patched, tested, and deployed
immediately. It’s not v e r s i o n 2.0 anymore. It’s v e r s i o n
2.0.12931. Or, it’s simply today’s v e r s i o n . Is anyone in the
public eye really keeping track anymore?
Society is growing accustomed to iteration too. Did y o u see
the new image gallery on Facebook? Did y o u see Google’s
new autosuggest feature? How about T w i t t e r ’ s new layout?
Nobody w a r n e d us with a monthlong advertising campaign.
New changes just appear now. IMVU,
1
a popular 3D-chat
application, boasts more than 100 million registered users,
and it ships releases 50 times a day.
1. http://www.imvu.com
report erratum • discuss
Launch Is Just the First Release • 9
Download from Wow! eBook <www.wowebook.com>
![](https://csdnimg.cn/release/download_crawler_static/4763340/bg13.jpg)
In today’s landscape, the initial launch shouldn’t feel like
the end-all and be-all like it once did or still does in many
other industries. It’s just one of hundreds (if not thousands)
of mini-releases that take place during the life span of soft-
w a r e . Keeping that perspective can relieve the mental
pressure of launching software.
Unfortunately, this mentality can be easily abused. Don’t
use this change of construct as an excuse for being lazy or
leaving loose ends untied. The launch of an application
should be v e r y, v e r y good before others have at it. The big
things need to be right. Proper security needs to be in place.
But the small stuff, the stuff that is OK to fix afterward,
shouldn’t keep y o u from releasing software. Y o u ’ l l be sur-
prised how often things y o u thought w e r e important when
y o u launched suddenly aren’t...now that it’s out there.
Y o u still ought to celebrate when software launches. T a k e
y o u r team out to that fancy dinner. But don’t spend all y o u r
emotional currency on just the w e d d i n g . There’s an entire
relationship y o u ’ l l have with software afterward. There’s
time to make adjustments, add a family of new features, and
right wrongs.
Launch is just another point in software’s life. Not the end-
all and be-all.
Essay 4
The “Ivory Tower” Architect Is a Myth
I’ve never liked the idea that technical architects should stop
coding.
In physical architecture, architects perch in an ivory tower,
living in a w o r l d of only planning. They don’t hammer in
the nails or solder joints together. Requiring architects to do
the physical w o r k of drilling holes and laying concrete is
simply impractical. Architecting and developing are two
distinct career tracks.
10 • Chapter 2. Metaphor
report erratum • discuss
Download from Wow! eBook <www.wowebook.com>
![](https://csdnimg.cn/release/download_crawler_static/4763340/bg14.jpg)
The Corporate Ladder Leads to Less Code
In our industry, w e w o r k our w a y up to the role of a techni-
cal ar chit ect by a ctua lly devel opin g—b y d oing t he “phy sica l”
w o r k of building applications. But in most organizations, as
w e move up the software development ladder, w e write less
code. W e immerse ourselves more with planning than with
discovering the problems on the front line. W e concern
ourselves more about an overall vision and less about the
intimate details of code. As an industry, w e ’ v e held on to
the notion that architects should plan and developers should
develop.
This creates the false perception that once w e ’ v e reached a
certain level, programming is no longer where w e ’r e most
v a l u a b l e . Just leave the dirty w o r k to the junior developers!
At the same time, it pushes lower-level programmers away
from thinking about the overall goals and direction of the
project. They’re asked to concentrate just on the implemen-
tation. The architect-developer model makes both parties
less accountable for the application as a whole.
When w e split up roles into the somewhat arbitrary hierar-
chy of those who think about the technical “big picture” and
those who think only in
if
statements,
for
loops, and markup,
w e fracture two disciplines that belong intimately together.
Pure technical architects can take a guess at the best architec-
ture, the best design pattern, or the best practice. It’s only
when they’re knee-deep in code that they discover where
the real challenges exist. At the same time, the developer
who isn’t given the reins to think at a high level also doesn’t
get the chance to v o i c e a second opinion. Often, it’s the guy
who’s doing the actual implementation who can see the
bumps ahead most clearly.
W e ’ v e taken the architect-developer analogy too far. The
corporate ladder in the software industry needs a better
analogy.
T o build a building, architects architect and developers
develop. T r a d i t i o n a l architects know how to create elaborate
plans and specs in fine detail. But they don’t build. It’s sim-
ply not reasonable. The separation between those who think
report erratum • discuss
The “Ivory Tower” Architect Is a Myth • 11
Download from Wow! eBook <www.wowebook.com>
剩余156页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
vince002
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)