alexlueng / java_alg Goto Github PK
View Code? Open in Web Editor NEWplease please please write some code every day
please please please write some code every day
这个repository是存放我写过的java算法。 所有算法都来自《算法》第四版与其网站。 也会在这里写写心得体会什么的。 #2016-01-03 又有十天没在这里提交过代码了,我都不知道我为什么会这样子。 这本书用了四十年的时候编写,四十年,那你为什么不认真一点,把所有的习题都做一次? 那么急干嘛? #2016-01-11 新的一年,从查找开始。 note 2016.01.19 一个很烂的项目,发现以下问题: 1. 一半的bean用spring管理,另一半的bean自己new或者用单例模式,spring的包扫描配错了,但两年时间一直没人改过来 2.到处都是静态类、静态方法,没法扩展 3.在低基数、低频率的搜索上写优化算法,算法和业务逻辑搅在一起,没有分开为2个层面 4.业务配置文件过于复杂,过度设计,居然是事件模式解析 5.自己写了个Dao,自己手动管理事务,到处拼sql,六七十个字段的表,每个操作都重复拼 6.4000行的大jsp、大类、800行的大方法、多达17个参数的方法,喜欢写万能函数 7.不写注释、不写文档 8.log4j和logbak混用,各占一半 9.混杂的代码风格,花括号行尾、换行都有,缩进用tab、2空格、4空格、8空格,紧凑风格和松散风格都有 10.一些作者喜欢用反射调代码,没办法用ide跟踪 11.很多作者不用开源工具包,喜欢自己搞一套,有炫技嫌疑,实际上搞得很烂 12.分包分得一团糟,既想按照功能分,又想按照业务分,没有把握好,稀里糊涂的 13.方法、变量命名词不达意,经常在getXXX、isXXX的方法里改传入参数,但又反回值,从命名就能看出作者词汇量狭窄、思维局限 14.对spring、spring mvc了解和利用严重不够,框架支持得很好的功能,非要自己写 15.pom依赖关系一团糟,各种重复引包、重复依赖,httpclient竟然多达4个版本 16.大片的被注掉的代码留在项目里,到处都是,许多废弃的类和废弃的配置文件没有删掉 17.每个作者都喜欢自己搞一套,缺乏共识,各自为战,各种约定、各玩各的 18.该打日志的地方没有打,导致一些工单成了无头案,有些地方,又重复打日志,啰里啰嗦 19.到处都是HashMap,而不用java bean;1个HttpServletRequest调了五六层方法;自己手工拼json字符串;拼email的html body,不用模板 20.页面还是jsp,jsp里写了大量的业务逻辑,甚至通过httpclient去抓别的项目,抓回来内容嵌在当前页面里 21.到处都是main方法,不用单元测试 22.代码重复度很高,一段逻辑,到处复制粘贴 23.数据库表设计很烂,导致不好查(比如用逗号分隔的串),较老得表甚至毫无注释(生产环境) 24.整个团队都没有代码质量追求,习惯了烂代码 这个项目,是该公司交易系统的核心,每周大概4次发布,迭代速度很高。 往里面加逻辑异常困难、很容易出问题,开发和QA都心力交瘁,新逻辑都是hack进去的,会加重代码腐烂。 若要重构,可能要同时维护2个版本,而且重构风险很大,一旦出事,将影响TL的前途。 如何摆脱这个困境? #2016-01-28 股票继续大跌,再次经历去年七月份时的恐慌.只是这次,我手上已经没有能逆转的牌可打了. 好像霸王项羽.时不利兮骓不逝,虞兮虞兮奈若何? 于是我想收回借给朋友的钱,虽然不多,但是还能最后一战. #2016-02-18 I am so afraid that my nose keep bleeding. So quit smoking, OK? I am serious this time, no more cigarrates.
You have not committed for a long time.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.