V2EX codeek
 codeek 最近的时间轴更新
codeek

codeek

V2EX 第 52910 号会员,加入于 2013-12-29 13:43:18 +08:00
根据 codeek 的设置,主题列表只有在你登录之后才可查看
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
codeek 最近回复了
2016-11-19 08:44:15 +08:00
回复了 hackingwu 创建的主题 编程 这是我做 Java 开发几年来遇到的最大难题
怒点赞。哪都能看到群主宣传 FP ,好样的!
2016-07-13 06:39:23 +08:00
回复了 codetimecn 创建的主题 Podcast 每个程序员都应该收听的播客节目 - 代码时间
之前听过几期,包括了红烧 Lo 姐的 Clojure 专访以及 haskell 语言分析,确实是难得的好节目。
2016-06-22 10:20:27 +08:00
回复了 karlxu 创建的主题 问与答 问一个正则的问题,大神不要笑我哈~~~
正则表达式默认是贪婪匹配(最长匹配),*?就开启了最短匹配,这里,也就是 0 个 b 了。
2016-06-10 10:37:18 +08:00
回复了 corboy 创建的主题 程序员 如何写单元测试
单元测试最好的入门方式是 TDD (Test Driven Development),即测试驱动开发。简单来讲,就是先写测试,后写实现代码。

TDD 不是什么高深的概念,只是一种 Agile 的实践方式。很多人习惯先写实现代码,后“加测试”的编码方式,原因有二,一是实现代码还没有,不知道对哪个方法进行测试;二是懒,觉得测试是额外的工作负担,不到万不得已(比如:项目组强制)不会写测试,即使写也就挑几个好弄的方法,加一个正常流的测试。

这样的写法很容易导致几个问题:
1. 实现代码耦合,不便测试;
2. 实现代码过度设计,类文件剧增,代码量一多,维护性绝对不好;
3. 测试覆盖率很低,单元测试是拿来忽悠领导的,跟质量无关。

楼主说自己无从下手,估计是用了“加测试”的方式。如果是这样,那么 refactor (重构) 是你该先学的技能。设计良好的代码,接口很清晰,耦合度低(比如:楼上提到的 DI [依赖注入] ),一般写单元测试非常容易。

TDD 具体的实践方式,这里我暂按不表,网上的教程多如牛毛。其实它的核心理念就是让你知道如何从需求出发,拆接出任务( tasking ),按照任务一条条来写完测试。然后按照测试->实现->重构(红->绿->黄)的圈完善所有的功能。坚持这样,功能就从需求逐步演化成可维护的代码了。
2016-06-06 12:30:02 +08:00
回复了 wanderingFaker 创建的主题 Java 求推荐一本 java 书籍
effective java
2016-05-29 14:55:29 +08:00
回复了 vzlf 创建的主题 JetBrains Intellijidea 做 JavaWeb 开发时目录结构的疑问
你可以从这个角度来学习 maven 或者 gradle: 如何在命令行中用一条命令完成编译,单元测试,打包,集成测试,部署这些任务。简单点,就是自动化。
2016-05-28 12:42:07 +08:00
回复了 g5 创建的主题 宽带症候群 国务院的活动 500M 流量竟然真实有效!
成都联通还没收到
2016-05-28 12:38:55 +08:00
回复了 vzlf 创建的主题 JetBrains Intellijidea 做 JavaWeb 开发时目录结构的疑问
maven 和 gradle 都有生成 idea 工程的插件。 mvn idea:idea or gradle idea 。 Java 工程有标准目录,不要依赖 IDE
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5836 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 12ms UTC 06:10 PVG 14:10 LAX 23:10 JFK 02:10
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86