惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
H
Help Net Security
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
I
InfoQ
SecWiki News
SecWiki News
T
Tailwind CSS Blog
Spread Privacy
Spread Privacy
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
P
Palo Alto Networks Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
Kaspersky official blog
M
MIT News - Artificial intelligence
S
Schneier on Security
T
Threat Research - Cisco Blogs
F
Fortinet All Blogs
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The Cloudflare Blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
G
GRAHAM CLULEY
IT之家
IT之家
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
腾讯CDC
Google DeepMind News
Google DeepMind News
V
V2EX
S
Securelist
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
S
SegmentFault 最新的问题
博客园 - 叶小钗
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Project Zero
Project Zero
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure

博客园 - 阿武

Moto G 通话没声音 Android 手机技巧 一个Java程序的生死旅程 精妙语录 【Windows Phone 7】【软件发布】深圳通助手 & 深圳长途汽车查询 & 深圳地铁通 [C++ Primer] Passing an array to a function by reference/pointers -- sample 【Ruby】删除旧文件 京东自动抢购机 64位的处理器支持多大的内存? 将.NET Entity Framework 的 Cache模块移植到JAVA平台 Q 语言初学者系列:(3)Lists 初级 KDB+性能分析:内存篇 Q 语言初学者系列:(2)基本数据类型 Q 语言初学者系列:(1)开门篇 熟悉的感觉 盘点自己两年来走过的路 [JAVA]你见过这样的switch吗? - 阿武 - 博客园 网站上图片"另存为" 为什么是 bmp 格式 经实验, 网线两端都接在交换机上并不会烧毁交换机
做快乐的程序员
阿武 · 2008-09-08 · via 博客园 - 阿武


    是否总是觉得工作特别的枯燥、乏味、无聊,面对成堆的代码后头脑开发犯困,表情开始僵硬,这对你来说简直就是一种折磨,它甚至和你原先所想象的不一样,程序员本来应该是精力充沛,激情四溢的,幻想着能够去创造去驾驭所有的东西。归根结底是因为我们对工作失去了兴趣,因为我们越来越发现,情况已经超出我们的控制范围了。我们不知道为什么程序昨天还运行得好好的,一觉醒来后就不能正常工作了,我们不知道为什么项目到了后期总是能给我们留下一份刻骨铭心的回忆,为什么在集成测试的时候我们总是担心受怕,总觉得会发生什么问题似的,而事实上问题确实经常如期而至。下面针对自己的体会列举一些解决问题的观点(希望大家一起来发表自己的见解):

把握需求
尽可能多地去了解需求挖掘需求,对于不懂的业务知识花时间去学习,这在开发阶段会避免你做错事,给你节省很多宝贵的时间。

了解整体架构
或许你并不是架构师也不是项目经理,而只是一个coder,你的工作仅仅是去实现系统中某个模块的功能,但我也建议你尽可能地去了解系统的整体架构,了解其它人都在做些什么。

团队交流  
只有互相交流你们才是一个团队而不是几个人拼凑在一起,任何问题都可以拿出来交流,并且互相帮助跟互相学习。我想这比一个人整天闷着头写代码感觉要好得多。

基础决定高度
对于基础知识,我们应该花更多的时间来学习,因为没有什么比基础更能长远地让你受益的了,如果你是做Web开发,HTML、CSS、JavaScript一样要熟悉,在你的眼里应该只有他们而没有服务器控件。

编程思想
语言是你手中的剑,语法是招式,而思想则是内功,只有内功达到一定的深度,你才能最大程度地发挥武功的威力,而且这时候再去学习另一个门武功将显得容易许多。

设计模式
深刻理解面向对象的设计原则和设计模式可以让你的代码更加具有魅力,看总这样的代码你总能心情愉快,实际上看着自己的程序因为需求的改变但却没有影响到程序原本的设计或者仅需要写一小段代码就实现了一个新功能的扩展是非常有成就感的一件事。

重构
学会欣赏你的代码,他们是你花心思写出来的,你不能放着糟糕的代码却视而不见,而且还安慰自己说,“只要它能工作,就不要去动它”,及时地重构每一行有臭味的代码,这将会给你带来无尽的快乐。

单元测试

尽可能地给你的方法写单元测试,它可以让你对你的代码更有信心,这样你才能对你的代码更有把握,你也会更加快乐。

不要把问题留到明天
如果已经下班了问题却还没有解决怎么办?加班吧,既使是没有加班费,问题不应该被累积,要不总有一天它会成为你的恶梦,把问题全部解决了再回家,你可以安稳地睡个好觉。

学习英语
程序员应该学习好英语,它可以帮助你看懂英语文献跟文档,可以让你在论坛上跟全世界的人一起讨论问题,它也可以帮助你写程序的时候取一个有意义的类名,变量名或方法名,如果你们公司需要跟老外打交道,升官发财的机会也就全靠它了。

Work Hard, Play Hard
工作的时候我们努力地工作,玩的时候我们也要疯狂地玩。

    最后推荐几本程序员必看的书,不看会后悔的哦。《设计模式:可复用面向对象软件的基础》《重构》《敏捷软件开发》《代码大全(第二版)》《人月神话》。都是很经典的书,相信大多数人都已经拜读过了。