当前位置: 首页 > news >正文

做网站需要写那些xmind长沙网站排名系统

做网站需要写那些xmind,长沙网站排名系统,什么博客可以做网站,莱芜信息平台java的网络编程有用吗经过一段时间的编码#xff08;以我为例#xff0c;大约20年左右#xff0c;当您玩得开心时光飞逝#xff09;#xff0c;人们开始接受这些习惯。 因为#xff0c;你知道... 任何可能出错的事情都会发生。 这就是为什么人们会采用“防御性编程”的原… java的网络编程有用吗 经过一段时间的编码以我为例大约20年左右当您玩得开心时光飞逝人们开始接受这些习惯。 因为你知道... 任何可能出错的事情都会发生。 这就是为什么人们会采用“防御性编程”的原因即偏执狂的习惯有时会变得很有意义有时会变得晦涩难懂和/或聪明甚至在想到编写者时也会有些怪异。 这是我个人列出的十大有用但又偏执的Java编程技术。 我们走吧 1.首先将字符串文字 通过将String文字放在equals()比较的左侧防止偶然的NullPointerException从来不是一个坏主意如下所示 // Bad if (variable.equals(literal)) { ... }// Good if (literal.equals(variable)) { ... } 这是显而易见的。 将表述从次优版本改为好版本不会丢失任何内容。 如果我们只有真正的期权 对吗 不同的讨论… 2.不要相信早期的JDK API 在Java的早期编程一定是一个很大的难题。 这些API仍然很不成熟您可能会碰到如下一段代码 String[] files file.list();// Watch out if (files ! null) {for (int i 0; i files.length; i) {...} } 看起来偏执吗 也许吧 但是阅读Javadoc 如果此抽象路径名不表示目录则此方法返回null。 否则将返回一个字符串数组该字符串数组用于目录中的每个文件或目录。 是的对。 不过最好确保添加另一张支票 if (file.isDirectory()) {String[] files file.list();// Watch outif (files ! null) {for (int i 0; i files.length; i) {...}} } mm 编码Java列表时违反了我们的10条最佳最佳实践中的规则5和6。 因此请做好准备并添加该null检查 3.不要相信“ -1” 我知道这很偏执。 String.indexOf()的Javadoc明确指出…… 返回此对象表示的字符序列中字符第一次出现的索引如果未出现字符则返回-1。 因此 -1是理所当然的对吧 我说不。 考虑一下 // Bad if (string.indexOf(character) ! -1) { ... }// Good if (string.indexOf(character) 0) { ... } 谁知道。 也许他们需要在某个时间点进行ANOTHER编码以便说如果不区分大小写地检查 otherString包含otherString …也许是返回-2的好例子 谁知道。 毕竟 关于十亿美元的错误 我们已经进行了数十亿次讨论这是NULL 。 为什么我们不应该开始讨论-1 它在某种程度上是原始类型int的替代null 4.避免意外分配 是的 它发生得最好尽管不是我。请参阅7。 假设这是JavaScript但是我们也要对语言保持偏执 // Ooops if (variable 5) { ... }// Better (because causes an error) if (5 variable) { ... }// Intent (remember. Paranoid JavaScript: ) if (5 variable) { ... } 再次。 如果您的表达式中有文字请将其放在左侧。 当您要添加另一个符号时您不会在这里偶然出错。 5.检查空AND长度 只要有集合数组等请确保其存在且不为空。 // Bad if (array.length 0) { ... }// Good if (array ! null array.length 0) { ... } 您永远不知道这些数组从何而来。 也许来自早期的JDK API 6.所有方法均为最终方法 您可以告诉我所有关于您的开放/封闭原则的信息这些都是胡扯。 我不信任您正确地扩展了我的课程我也不信任自己不偶然地扩展了我的课程。 这就是为什么所有未明确打算用于子类型化即仅接口的事物都是严格final 。 另请参阅我们的《 编码Java的10条最佳实践》列表中的第9条。 // Bad public void boom() { ... }// Good. Dont touch. public final void dontTouch() { ... } 是。 这是最终的。 如果那对您不起作用请对其进行修补或检测或重写字节码。 或发送功能请求。 我敢肯定您要覆盖上述内容并不是一个好主意。 7.所有变量和参数均为最终变量 就像我说的。 我不信任自己不会意外覆盖我的价值观。 话虽如此我一点也不相信自己。 因为… …这就是为什么所有变量和参数也都设为final 。 // Bad void input(String importantMessage) {String answer ...;answer importantMessage LOL accident; }// Good final void input(final String importantMessage) {final String answer ...; } 好吧我承认。 尽管我应该这样做但我确实很少经常申请。 我希望Java像Scala一样正确 人们只需在各处输入val 甚至都无需考虑可变性-除非他们通过var显式很少使用它。 8.重载时不要相信泛型 是。 这有可能发生。 您相信您写的是一个超级棒的API它完全摇摆并且完全直观并且随之而来的是一些用户它将所有内容原始广播到Object直到织补编译器停止执行然后突然他们会链接错误的方法以为这是您的错误总是如此。 考虑一下 // Bad T void bad(T value) {bad(Collections.singletonList(value)); }T void bad(ListT values) {... }// Good final T void good(final T value) {if (value instanceof List)good((List?) value);elsegood(Collections.singletonList(value)); }final T void good(final ListT values) {... } 因为您知道……您的用户他们喜欢 // This library sucks SuppressWarnings(all) Object t (Object) (List) Arrays.asList(abc); bad(t); 相信我。 我已经看到了一切。 包括像 偏执是很好的。 9.始终打开默认开关 切换...这些滑稽的陈述之一我不知道该敬畏地吓呆还是哭泣。 无论如何我们被switch困住了所以我们最好还是在需要的时候把它弄对。 即 // Bad switch (value) {case 1: foo(); break;case 2: bar(); break; }// Good switch (value) {case 1: foo(); break;case 2: bar(); break;default:throw new ThreadDeath(Thatll teach them); } 因为将value 3引入软件的那一刻它一定会来 而且不要说enum 因为它也会发生在enums 10.用花括号切换 实际上 switch是最醉人的说法任何人在喝醉或打赌时都被允许进入一种语言。 考虑以下示例 // Bad, doesnt compile switch (value) {case 1: int j 1; break;case 2: int j 2; break; }// Good switch (value) {case 1: {final int j 1;break;}case 2: {final int j 2;break;}// Remember:default: throw new ThreadDeath(Thatll teach them); } 在switch语句中所有case语句之间仅定义了一个作用域。 实际上这些case语句甚至不是真正的语句它们就像标签并且switch是goto调用。 实际上您甚至可以将case语句与令人惊讶的FORTRAN 77 ENTRY语句进行比较 FORTRAN 77 ENTRY语句的神秘之处仅在于其强大功能。 这意味着无论我们是否发出break 都会为所有不同情况定义变量final int j 。 不是很直观。 这就是为什么通过一个简单的block在每个case语句中创建一个新的嵌套作用域始终是一个好主意的原因。 但不要忘记块内的break 结论 偏执狂编程有时看起来很奇怪因为代码往往比实际需要的更为冗长。 您可能会想“哦这永远不会发生”但是正如我所说。 经过20年左右的编程您只是不想修复仅由于该语言太老又有缺陷而导致的那些愚蠢的不必要的小错误。 因为你知道 现在轮到你了 您在编程中最偏执的怪癖是什么 翻译自: https://www.javacodegeeks.com/2015/08/top-10-useful-yet-paranoid-java-programming-techniques.htmljava的网络编程有用吗
http://www.huolong8.cn/news/20616/

相关文章:

  • 亚马逊网站建设评述杭州公司注销流程及费用
  • 正规建网站企业建设厅网站举报
  • 死链对网站的影响巨量算数数据分析
  • 广告 网站举例创新的模板网站建设
  • 婚庆公司网站模板下载建设专业网站
  • 贸易公司做网站有优势吗大数据开发过程
  • 建立网站需要做什么微信开发小程序工具
  • 做国外百科知识网站做网站赚钱 知乎
  • 深圳网站建设 东莞网站建设网络工程师题库
  • 建网站流程seo网站推广专员
  • 系部 网站建设方案如何建一个外贸网站
  • 低价格制作网站沈阳seo关键词排名
  • 域名备案要先做网站的吗合肥建站网站
  • 建网站需要多少钱和什么条件赣州酒店网站设计
  • 做学校和企业对接的网站无法访问网站
  • 如何在招聘网站上选个好公司做销售上海建设安全生产协会网站
  • 嘉祥县建设局网站百度云盘做网站
  • 房地产景区网站建设方案优秀购物网站建设
  • 做网站英文编辑有前途网络设计方案书主要包括哪些内容
  • wordpress用外部图片浙江企业seo推广
  • c2c网站有哪些网站建设与开发学什么内容呢
  • 佛山网站建设网络推广做关于植物的网站
  • 网站对于企业的作用公司网站建设多少费用哪儿济南兴田德润联系电话
  • 吉林新农村建设网站附近装修公司联系方式
  • 网站建设学习网公司有哪些住房和城乡建设部网站证书查询
  • 上海网站营销网络设计课程培训
  • 高端大气的网站制作申请域名建立网站
  • 建设与管理局网站设置网站的默认页面
  • 色一把做最好网站定制高端网站建设公司
  • 中英文网站如何建设济南做网络安全的公司