技术问答-汇集知识碎片解决技术难题-阿里云开发者社区-阿里云

  • 你遇到过哪些触发NPE的代码场景?
    奖品池:4000积分,保温杯*2,运动腰包*4

    anisbob 最常见的是查询数据库的时候,尤其是关联查询,po里的list没有返回,这个时候该属性是null,如果没有做空指针判断的话,直接使用就会报NPE的错误。处理方式就是判断是否为空。 最好使用一些第三方库对空指针的判断统一处理,尤其是动态数据填充或者api接收参数的入参校验的时候,空指针会影响代码的业务逻辑处理,甚至会让程序退出。

    不省油的灯 空指针异常?

    https://ucc.alicdn.com/avatar/avatar3.jpg https://ucc.alicdn.com/avatar/avatar3.jpg
    26人参与
  • 你见过哪些独特的代码注释?
    奖品池:4000积分,保温杯*2,运动腰包*4

    Sakura、 类型 幽默型。 这段注释以轻松的方式承认了代码的复杂性,同时也体现了作者对代码质量的追求和时间压力的无奈。 作者虽然在自嘲,但也提醒后来的维护者,这部分代码可能需要重构或至少是优雅化的处理。 故事叙事性 以轻松诙谐的故事告诉我们此函数存在一个严重的bug,且到现在还未解决。 警告型 作者提前给其他开发者打预防针,提示他们要格外小心。 个人感悟 总而言之,代码的注释多种多样,每个人可能有不同的...

    anisbob JDK源码的注释可以说是我们学习的榜样,很多的代码注释都配有例子说明,这点对我们国内程序员来讲是很独特的,希望每个程序员学习一下,相当于测试用例,不要嫌麻烦,这样的代码才是强壮的。

    https://ucc.alicdn.com/avatar/avatar3.jpg https://ucc.alicdn.com/avatar/avatar3.jpg
    25人参与
  • 如何看待首个 AI 程序员入职科技公司?
    奖品池:4000积分,开发者定制T恤*5,咖啡杯*3

    it学习者 web应用上什么好?

    aiunng 方便快捷高效 对答如流 专业度拉满 没有废话

    https://ucc.alicdn.com/avatar/avatar3.jpg https://ucc.alicdn.com/avatar/avatar3.jpg
    119人参与
  • 在JS编程中有哪些常见的编程“套路”或习惯?
    奖品池:4000积分,胶囊伞*2,午睡毯*3

    听风de歌 在JavaScript程序设计中,常用的编程“套路”包括: 模块化:通过函数、模块(ES6+)封装代码,提高复用性和可维护性。 异步处理:使用Promises、async/await简化异步代码。 面向对象:利用类(ES6+)或构造函数创建对象,实现代码复用。 事件监听:处理用户交互和DOM变化。 设计模式:如单例、工厂、观察者等,解决复杂问题。

    认真学习的heart 在JavaScript的世界中,套路不仅仅是技巧,它们是生存的法宝。从回调地狱到Promise天堂,再到async/await的快车道,每一步都是对未来的憧憬和对错误回调的告别。一些JavaScript开发中我常用的编程“套路”: 1. 立即执行函数表达式(IIFE) (function() { console.log("隐藏我吧,别让全局变量看见我!"); })(); 这个小技巧...

    https://ucc.alicdn.com/avatar/avatar3.jpg https://ucc.alicdn.com/avatar/avatar3.jpg
    73人参与
  • 2018-10-22
    10908
    3
    13
    已解决
    2018-06-01
    25694
    3
    22
    已解决

    个人中心

    你好,登录掌握更多精彩内容
    账号登录

    话题讨论榜

  • 1
    如何让系统具备良好的扩展性?
    奖品池:4000积分,胶囊伞*2,午睡毯*3
    78

    在系统设计中融入可扩展性理念,关键在于采用模块化、微服务架构、负载均衡、弹性云服务等技术手段。模块化使功能划分清晰,易于替换升级;微服务架构实现服务间解耦,独立扩展;负载均衡分散请求压力;弹性云服务根据需求自动伸缩资源。这些措施共同确保系统能够灵活应对未来增长和变化,实现高效、经济的扩展。

  • 2
    在JS编程中有哪些常见的编程“套路”或习惯?
    奖品池:4000积分,胶囊伞*2,午睡毯*3
    73

    在JavaScript程序设计中,常用的编程“套路”包括: 模块化:通过函数、模块(ES6+)封装代码,提高复用性和可维护性。 异步处理:使用Promises、async/await简化异步代码。 面向对象:利用类(ES6+)或构造函数创建对象,实现代码复用。 事件监听:处理用户交互和DOM变化。 设计模式:如单例、工厂、观察者等,解决复杂问题。

  • 3
    在做程序员的道路上,你掌握了什么关键的概念或技术让你感到自身技能有了显著飞跃?
    奖品池:4000积分,腰靠垫*5,体脂秤*2
    130

    在成为程序员的过程中,有几个关键概念和技术对我来说非常重要,使我的技能有了显著提升: 数据结构和算法:这是编程的基础,能够有效解决各种复杂问题。 数据结构和算法是编程中的核心组件,它们为程序员提供了解决问题的有效工具。数据结构是一种组织和存储数据的方式,它们能够让我们更有效地访问和修改数据。算法则是一系列步骤,用于解决问题或完成任务。数据结构和算法是相辅相成的,它们共同构成了编程的基础。 在...

  • 4
    如何处理线程死循环?
    奖品池:4000积分,小米随身音箱*2,计时器*5
    175

    某些编程语言和框架提供了锁的高级特性,如可中断的锁获取(interruptible lock acquisition)或尝试锁定(try-lock),这些特性可以帮助避免死锁。

  • 5
    作为一个经典架构模式,事件驱动在云时代为什么会再次流行呢?
    奖品池:4000积分,加湿器*2,腰靠垫*5
    137

    事件驱动架构(EDA)在云时代背景下再次流行并成为焦点,主要原因是它能够更好地适应和应对数字化转型带来的实时数据处理挑战。随着云计算、物联网、人工智能等技术的发展,企业和组织面临着大量实时数据的涌入,这些数据需要快速、准确地处理和响应。EDA 通过解耦事件源与事件处理逻辑,实现了对实时事件的异步处理,提高了系统的可扩展性、灵活性和容错性。这使得 EDA 成为构建数字化商业解决方案的理想选择,...

  • 向云产品提问
    http://www.vxiaotou.com