首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

成为优秀Java程序员的10大技巧

非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:“有来有往,互惠互利”,因此程序员应该体谅彼此(还有你自己),给你的代码加上注释。 2..... – 我曾经这么做过,我相信你也一样。开发者都倾向于采用复杂方式解决简单问题。...一些人可能不知道有更好的解决方案,但另一些人可能故意这样做来学习新知识,或仅仅是因为有趣。对那些不知道更好解决方案的人,要多听有经验程序员的建议。...把if条件分解成2个if语句不是更容易理解吗?...譬如,一个统计的界面可以分页,也可以不分页。作为开发者,很可能会忽略分页,因为这会减少很多麻烦;而站在客户角度,这就不是一个好的方案,因为数据可能多达几百行。 8.

30920

10年老程序员给3年开发者的10点建议

非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:“有来有往,互惠互利”,因此程序员应该体谅彼此(还有你自己),给你的代码加上注释。.... – 我曾经这么做过,我相信你也一样。开发者都倾向于采用复杂方式解决简单问题。...一些人可能不知道有更好的解决方案,但另一些人可能故意这样做来学习新知识,或仅仅是因为有趣。对那些不知道更好解决方案的人,要多听有经验程序员的建议。...把if条件分解成2个if语句不是更容易理解吗?...譬如,一个统计的界面可以分页,也可以不分页。作为开发者,很可能会忽略分页,因为这会减少很多麻烦;而站在客户角度,这就不是一个好的方案,因为数据可能多达几百行。

35500
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    成为优秀Java程序员的10大技巧

    非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:“有来有往,互惠互利”,因此程序员应该体谅彼此(还有你自己),给你的代码加上注释。 2..... – 我曾经这么做过,我相信你也一样。开发者都倾向于采用复杂方式解决简单问题。...一些人可能不知道有更好的解决方案,但另一些人可能故意这样做来学习新知识,或仅仅是因为有趣。对那些不知道更好解决方案的人,要多听有经验程序员的建议。...把if条件分解成2个if语句不是更容易理解吗?...譬如,一个统计的界面可以分页,也可以不分页。作为开发者,很可能会忽略分页,因为这会减少很多麻烦;而站在客户角度,这就不是一个好的方案,因为数据可能多达几百行。 8.

    26410

    成为优秀Java程序员的10大技巧

    非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:“有来有往,互惠互利”,因此程序员应该体谅彼此(还有你自己),给你的代码加上注释。 2.....– 我曾经这么做过,我相信你也一样。开发者都倾向于采用复杂方式解决简单问题。...一些人可能不知道有更好的解决方案,但另一些人可能故意这样做来学习新知识,或仅仅是因为有趣。对那些不知道更好解决方案的人,要多听有经验程序员的建议。...把if条件分解成2个if语句不是更容易理解吗?...譬如,一个统计的界面可以分页,也可以不分页。作为开发者,很可能会忽略分页,因为这会减少很多麻烦;而站在客户角度,这就不是一个好的方案,因为数据可能多达几百行。 8.

    1.5K10

    REST API 设计最佳实践:如何构建、设计和使用 API ?

    是作者吗?还是书籍?...而且扁平化总比嵌套好,所以肯定有更好的方法... 确实如此!我个人建议使用查询字符串参数直接过滤books资源: GET: /books?...利用查询字符串进行筛选和分页 大多数情况下,一个简单的端点无法满足各种复杂的业务场景。您的用户可能希望检索满足特定条件的项目,或者一次只检索少量数据以提高性能,这正是过滤和分页功能所设计的目标。...分页允许用户逐步获取数据集。最简单类型的分页就是按页码进行分页,它由page和page size确定。现在问题来了:如何将这样的功能融入REST API?...我的答案是:使用查询字符串(querystring)。 我认为使用查询字符串实现分页非常明显。它看起来像这样: GET: /books?...此类内容应放在查询字符串中。因此最后, 用户可以像这样获取“包含20个项目、已发布书籍第二页”: GET: /books?

    45340

    像机器一样思考|TW洞见

    从这个模型上我们看到了什么吗?嗯,可能太多干扰了,看的不够清楚,我给你们再抽象一层: ? 现在清楚了吧?计算机在中间,两边是输入输出。...好吧,你可能会说,“这玩意有啥用啊,我有分析的这个空,我代码都写完了啊。”不急,我们接着往后看。 刚才那个题目有点太简单了,我们做一个稍微复杂的。...听起来好简单啊,有那么神吗?不是编程的人都应该会吗?然而并不是的,很多人思考编程这件事情是靠感觉的。 我前几天面了40多个外包公司外派来的人,只有5个人,可以按照输入输出来对问题进行分解。...题外话-1: 我们像机器一样思考,不就都变成机器了吗?嗯,其实不是的。所谓我们像机器一样思考,那机器这种思考方式又是从哪里来的呢?...回到数据与过程不严格区分那半句,当我们试图模糊数据和过程的界限,将过程像数据一样纳入输入输出的范畴,我们就走上了函数式编程之路。 题外话-3: 有人觉得练习不够吗?

    99370

    【干货】如何写代码 -编程内功心法

    于是有了此文。 前言 首先,思考一个问题,何谓编程?编程就是写代码吗? 所谓的编程,其实就是不断的对这个现实世界中的问题建立模型并将其固化为代码自动化执行的过程。...(如果你看不懂这个梗那你有可能是伪程序员) 其实,话说回来,实在不方便用英文的时候,我认为也可以用拼音命名。这个问题上可以务实一点,量力而行。 但是,拼音和英语混用的做法就不太好了。最好别这样!...在Python中,有更牛逼的文档字符串这样的语言级特性支持,看注释用help()很方便。 不过对于Lua这样的弱类型解释型语言,注释就比较难处理了。这里以Lua为例给出一种注释的解决方案。...参数有可能为空指针的时候。 参数的合理值无法通过方法名、参数名、参数类型一眼看出来的时候!比如上面那个pageIndex是从1开始计数的,但别人并不知道你是从1开始计数的。...参数校验需要做到什么程度 我有一个标准,就是把自己当成调用这些代码的那个人,把自己想象成有可能以任何“姿势”调用的菜鸟(实际上也有可能是不了解你的代码的大牛)。

    85080

    如何写代码 — 编程内功心法

    于是有了此文。 爱 前言 首先,思考一个问题,何谓编程?编程就是写代码吗? 在对问题建立模型的过程中,我们会遇到非常多不同层面的问题,所以我们需要很多领域的知识去解决这些问题。...(如果你看不懂这个梗那你有可能是伪程序员) 其实,话说回来,实在不方便用英文的时候,我认为也可以用拼音命名。这个问题上可以务实一点,量力而行。但是,拼音和英语混用的做法就不太好了。最好别这样!...在Python中,有更牛逼的文档字符串这样的语言级特性支持,看注释用help()很方便。不过对于Lua这样的弱类型解释型语言,注释就比较难处理了。这里以Lua为例给出一种注释的解决方案。...参数有可能为空指针的时候。 参数的合理值无法通过方法名、参数名、参数类型一眼看出来的时候!比如上面那个pageIndex是从1开始计数的,但别人并不知道你是从1开始计数的。...参数校验需要做到什么程度 我有一个标准,就是把自己当成调用这些代码的那个人,把自己想象成有可能以任何“姿势”调用的菜鸟(实际上也有可能是不了解你的代码的大牛)。

    52330

    MySQL 百万级分页优化(Mysql千万级快速分页)

    .);  再分享一点 查询字段一较长字符串的时候,表设计时要为该字段多加一个字段,如,存储网址的字段 查询的时候,不要直接查询字符串,效率低下,应该查诡该字串的crc32或md5 如何优化Mysql千万级快速分页...可是数据量到了10万,百万至千 万,他的性能还能那么高吗?一点小小的失误,可能造成整个系统的改写,甚至更本系统无法正常运行!好了,不那么多废话了。...到 了这里我相信很多人会和我一样,有崩溃感觉!vtype 做了索引了啊?怎么会慢呢?...难道MySQL 无法突破100万的限制吗???到了100万的分页就真的到了极限??? 答案是: NO !!!! 为什么突破不了100万是因为不会设计mysql造成的。下面介绍非分表法,来个疯狂的测试!...一个索引所造成的性能差别可能是上千倍! PS: 经过实际测试,到了100万的数据,160万数据,15G表,190M索引,就算走索引,limit都得0.49秒。所以分页最好别让别人

    3.7K30

    MySQL 百万级分页优化(Mysql千万级快速分页)

    .);  再分享一点 查询字段一较长字符串的时候,表设计时要为该字段多加一个字段,如,存储网址的字段 查询的时候,不要直接查询字符串,效率低下,应该查诡该字串的crc32或md5 如何优化Mysql千万级快速分页...可是数据量到了10万,百万至千 万,他的性能还能那么高吗?一点小小的失误,可能造成整个系统的改写,甚至更本系统无法正常运行!好了,不那么多废话了。...到 了这里我相信很多人会和我一样,有崩溃感觉!vtype 做了索引了啊?怎么会慢呢?...难道MySQL 无法突破100万的限制吗???到了100万的分页就真的到了极限??? 答案是: NO !!!! 为什么突破不了100万是因为不会设计mysql造成的。下面介绍非分表法,来个疯狂的测试!...一个索引所造成的性能差别可能是上千倍! PS: 经过实际测试,到了100万的数据,160万数据,15G表,190M索引,就算走索引,limit都得0.49秒。所以分页最好别让别人

    2.5K10

    猿进化系列15——实战之一文搞懂项目前期

    作为一个新手,拿到一个工作任务的时候,往往是一个激动人心的事情,终于有地方施展自己的才华了,终于有机会把自己的设计转化为实现了。...写到后面时间紧迫的时候再开始来搞关键技术的突破吗?很显然,这种事情是可以避免的。在开始写代码之前,还是有很多工作需要做的。...由于线路的数据包含:线路基本信息、线路图片信息、线路商家信息、线路收藏信息、所以一次操作可能涉及多个表的数据。...因为某个类型的线路信息可能很多,一次也没必要展示完全,所以列表页下方,有分页标记,我们浏览数据需要像“翻书”一样查看。也就是说,我们需要设定分页的大小,每一次,获取每一页的数据就好了。...,'+i+',\''+queryData+'\')">'+i+''; } //拼接字符串

    1K20

    MySQL具体解释(19)———-海量数据分页查询优化

    上面的语句运行一遍,可能会要运行个十几秒的时间,而且当页数越靠后的话,运行的时间会越长。这个时候我们就须要找到一种更快的查询办法来替代这样的操作了。 网上已经有非常多优化的方法。...但是数据量到了10万,百万至千万,他的性能还能那么高吗?一点小小的失误,可能造成整个系统的改写。甚至更本系统无法正常执行。好了。不那么多废话了。...到了这里我相信非常多人会和我一样,有崩溃感觉!vtype 做了索引了啊?怎么会慢呢?...这个和dis #cuz 论坛是一样的思路。思路例如以下: 建一个索引表: t (id,title,vtype) 并设置成定长,然后做分页,分页出结果再到 collect 里面去找info 。...有了这个结论,就能够非常easy的应用于轻量级框架了 通过简单的变换,事实上思路非常easy: (1)通过优化索引。找出id。并拼成 “123,90000,12000″ 这种字符串。

    1.2K30

    MySQL数据库面试题(2020最新版)必知必会

    方式2: select * from table where id > #max_id# order by id limit n; 该查询每次会返回n条记录,却无需像方式1扫描过m条记录,在大数据量的分页情况下...条数据,当前第3页的最大id为#max_id#: select * from table where id > #max_id# order by id limit 20, 10; 其实该查询方式是部分解决了方式...,m的值可能很大,但由于内部的子查询只扫描了字段id,而不是整张表,所以性能要强于方式1查询,并且该查询能够解决方式2和方式3不能解决的问题。...那么CREATE SCHEMA和CREATE DATABASE在MySQL难道是一样的吗?...而这和MS SQL中的SCHEMA有很大差别。 3 视图 视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询;不包含任何列或数据。

    1.1K10

    百亿级数据分表后怎么分页查询?

    而分库分表之后一些常规的查询可能都会产生问题,最常见的就是比如分页查询的问题。...有些同学会说了,你双写不影响性能吗?因为对于B端来说轻微的延迟是可以接受的,所以可以采取异步的方式去落B端订单。你想想你去淘宝买个东西下单了,卖家稍微延迟个一两秒收到这个订单的消息有什么关系吗?...你点个外卖商户晚一两秒收到这个订单有什么太大影响吗? ?...比如你256个片,查询的时候循环扫描所有的分片,每个片取20条数据,最后聚合数据手工分页,那必然是不可能查到全量的数据的。...总结 分库分表后的查询问题,对于有经验的同学来说其实这个问题都知道,但是我相信其实大部分同学做的业务可能都没来到这个数量级,分库分表可能都停留在概念阶段,面试被问到后就手足无措了,因为没有经验不知道怎么办

    1.4K30

    秋招面试题系列- - -Java 工程师(二)

    Dao接口里的方法,参数不同时,方法能重载吗?10、Mybatis是如何进行分页的?分页插件的原理是什么?----MyBatis面试题5、MyBatis与 Hibernate有哪些不同?...#{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将 sql中的#{}替换为?...7、当实体类中的属性名和表中的字段名不一样,怎么办?第 1种:通过在查询的 sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致。...Dao接口里的方法,参数不同时,方法能重载吗?Dao接口即 Mapper接口。...Mapper接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为 key值,可唯一定位一个 MapperStatement。

    48620

    【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件

    好像有点过度设计的嫌疑,我也在想,用得着这么费事吗?真的需要这么写吗?     ...(等等,这么看怎么有点像三层的结构,PageUI有点像UI层,PageSQL算是逻辑层吧(分页嘛,如何写SQL语句,这个可以算作是一种逻辑吧,如果不算的话也没什么),PageGetData就是数据访问了...我可不想写得像三层那样的麻烦。呵呵。)     ...不过我也没有想把所有的数据库的所有可能的分页算法都写到数据库里,可以在分页控件的外面继承PageSQL类来写一个子类,在这个子类里面实现需要的分页算法,然后把这个实例赋值给分页控件就ok了。...在webconfig里面修改连接字符串和数据库类型。DataType ---- 1: MS SQL ;2:Oledb;3:ODBC。

    95250

    Web Scraper 翻页——利用 Link 选择器翻页 | 简易数据分析 14

    这里我们利用 Link 标签跳转到分页网站的下一页。 首先我们用 Link 选择器选择下一页按钮,具体的配置可以见下图: 这里有一个比较特殊的地方:Parent Selectors ——父选择器。...Selector graph 查看我们编写的爬虫结构: 可以很清晰的看到这个爬虫的结构,可以无限的嵌套下去: 点击 Scrape,爬取一下试试,你会发现所有的数据都爬取下来了: 2.分析原理 按照上面的流程下来,你可能还会比较困扰...第二页除了数据不一样,结构和第一页还是一样的,为了持续跳转,我们还要选择下一页,为了抓取数据,还得选择数据节点: 如果我们把箭头反转一下,就会发现真相就在眼前,next_page 的父节点,不正好就是..._root 和 next_page 吗?...像 next_page 这种我调用我自己的形式,在编程里有个术语——递归,在计算机领域里也算一种比较抽象的概念,感兴趣的同学可以自行搜索了解一下。

    2.7K60

    给,我私藏的26道MyBatis面试题~

    关注“Java后端技术全栈” 回复“面试”获取全套面试资料 1.JDBC有几个步骤?...2.ORM提供了对数据库的映射,不用sql直接编码,能够像操作对象一样从数据库获取数据。 「缺点」牺牲程序的执行效率和会固定思维模式,降低了开发的灵活性。...ORM所生成的代码一般不太可能写出很高效的算法,在数据库应用上更有可能会被误用,主要体现在对持久对象的提取和和数据的加工处理上,如果用上了ORM,程序员很有可能将全部的数据提取到内存对象中,然后再进行过滤和加工处理...可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页。 7.分页插件的基本原理是什么?...15.Dao接口里的方法,参数不同时能重载吗? 不能重载。 16.#{}和${}的区别是什么? ${}是字符串替换,#{}是预处理; Mybatis在处理时,就是把{}直接替换成变量的值。

    72410
    领券