精华内容
下载资源
问答
  • 经历了的项目越多,看过的奇葩代码也就越多。发现烂代码的目的并不是抨击和...不要给我扯什么可读性,以下代码一行的写法可读性也更好。 private boolean isEligible(int age) { boolean result; if (age > 18)

    经历了的项目越多,看过的奇葩代码也就越多。发现烂代码的目的并不是抨击和取笑,主要还是为了避免让自己或者身边的人写出类似的代码。

    码云上面就有个热门仓库**bullshit-codes** 专门收集史上最坑爹的代码片段。下面放几个比较有意思的给大家看看:

    1.一行代码就可以搞定的,非要写的啰里啰嗦。不要给我扯什么可读性,以下代码一行的写法可读性也更好。

    private boolean isEligible(int age) {
        boolean result;
        if (age > 18) {
            result = true;
        } else {
            result = false;
        }
        return result;
    
    }
    

    2.前大厂程序员设计的智能AI客服系统

    Scanner sc = new Scanner(System.in);
    String str;
    // 待优化
    while (true) {
        str = sc.next();
        // 测试环境,正式环境从数据库中获取
        str = str.replace("吗", "");
        str = str.replace("?", "!");
        str = str.replace("?", "!");
        str = str.replace("不", "很");
        str = str.replace("你们", "我们");
        str = str.replace("有", "没有");
    
        System.out.println(str);
    }
    

    效果展示:

    在吗?
    在!
    你好!
    你好!
    产品有问题啊
    产品没有问题啊
    你们的服务态度不好
    我们的服务态度很好
    

    3.只要我的代码够多,你就你很难看出有啥问题

    /**
     * 三年前接手的一个政府网站项目,真假不知,据说是一个两年web开发经验的程序员写的, 用的spring系列还是3.x版本,前端还是jsp,可能是老项目。
     * 主要特点是:实体类中不写注释,数据库表中也没有注释,命名经常使用英文拼音混合,而且还可能是简写(grzlChangeStatus:个人资料变更状态)
     * 
     * 挖坑不填坑,菊花塞电灯
     */
    @Controller
    public class DemoController {
    	/**
    	 * 这个方法一共有800多行,有30多个if或else if的条件判断,只写代表性的几个
    	 * 
    	 * 具体方法名称记不得,逻辑是这样,前端jsp提交一个请求过来,界面中除了一些必填信息外,还有有5个下拉框,后台判断各种组合, 
    	 * 分别往request里面塞入不同的对象,返回的页面视图也可能不同。
    	 */
    	@RequestMapping("/submit")
    	public String template(HttpServletRequest request, HttpServletResponse response, HttpSession session) {
    		String param1 = request.getParameter("param1");
    		String param2 = request.getParameter("param2");
    		String param3 = request.getParameter("param3");
    		String param4 = request.getParameter("param4");
    		String param5 = request.getParameter("param5");
    		// 你没看错,各种状态全部存字串,而且判断的时候不考虑空指针问题
    		if (param1.equals("已消毒")) {
    			// 逻辑
    			request.setAttribute("attr", "value");
    			return "jsp1";
    		} else if (param1.equals("已消毒") && param2.equals("1.8米以上")) {
    			// 逻辑
    			request.setAttribute("attr", "value");
    			// 你没看错,可能又是另一个视图
    			return "jsp2";
    			// 你没看错,还可能出现多个条件,|| 和 &&
    		} else if (param1.equals("已消毒") && param2.equals("2米以上") || param3.equals("缅甸")) {
    			// 逻辑
    			request.setAttribute("attr", "value");
    			return "jsp3";
    			// 你没看错,因为他的状态或选项没有用数字类型,所以不能用 > < 之类的来判断,要列举所有状态
    		} else if (param1.equals("未进站") || param1.equals("已进站") || param1.equals("已消毒") && param2.equals("2米以上")) {
    			request.setAttribute("attr", "value");
    			return "jsp3";
    			//你没看错,还会出现 true==true 或false==false这样的代码
    		}else if(param4.equals("禁止入境")==true && param5.equals("农用车")) {
    			request.setAttribute("attr", "value");
    			return "jsp4";
    			//你没看错,还会出现逻辑非,而且,要先判断什么条件,从来不用括号包起来,要理他的逻辑,还要先理条件判断优先级
    		}else if(param1.equals("未进站") || param1.equals("已进站") || param1.equals("已消毒") && param2.equals("2米以上") && !param3.equals("缅甸")) {
    			request.setAttribute("attr", "value");
    			return "jsp5";
    		}
    		//省略剩下的30多个类似的判断
    		else {
    			return "default";
    		}
    	}
    }
    

    以上代码的问题:

    • 空指针异常
    • 逻辑混乱,部分 else if 根本进不去

    4.获取一天后的日期:让线程睡一会

    public static Date getAfterDate(int day) {
        try {
            Thread.sleep(day * 24 * 60 * 60 * 1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return new Date();
    }
    

    5.新上的项目的代码命名,表示看不太懂

    6.为了得到了一个用户总人数,把所有的User对象查询出来。

    /**
      统计用户总数,来源于N年前某个用户抱怨执行效率低,贴出类似逻辑的代码.
      @author wendal
    */
    @IocBean
    public class CountUserTable {
    
        @Inject Dao dao;
    
        @Test
        public void test_user_count() {
            // 取出全部用户对象(dao.query返回List<User>),然后取list大小就可以啦,是不是很机智
            int count = dao.query(User.class, null).size();
            System.out.println("用户总数是" + count);
        } 
    }
    

    如果有帮助的话,不要吝啬你们手中的在看和赞!“怼”起来!

    以上 4 本优质原创 PDF 微信搜“JavaGuide”后台回复“面试突击”即可免费领取。

    展开全文
  • 下面的代码实现连接数据库的功能,但是用的是全局函数实现。 函数也就罢了,里面的变量又用到了全局变量来访问数据库,由于多线程调用,所以还要支持多线程。 多线程访问全局变量就要支持并发,加临界区(或者说...

    下面的代码实现连接数据库的功能,但是用的是全局函数实现。

    函数也就罢了,里面的变量又用到了全局变量来访问数据库,由于多线程调用,所以还要支持多线程。

    多线程访问全局变量就要支持并发,加临界区(或者说Guard)。

    访问数据库又有可能出错,出错又要退出,退出又要在流程上处理错误处理,临界区控制更麻烦。

    只要哪里写的不完备,你懂的,多线程临界区出了问题,多个线程的调用全局变量,这些线程就会像一把把锋利的匕首一样从你的四面向你刺来。你可能死都不知道是被谁弄死的。

    让我们来看看这个超级烂的烂代码吧:

    如何改进呢?

    1 功能封装到class里

    2 new的对象用类的普通成员变量表示(不是指针成员变量)

    3 访问数据库的时候在线程内创建栈对象(这样不同的线程就会使用不同的栈对象,互不关联,免去了临界区那些个同步垃圾代码)

    改进后的代码基本上是下面这个样子:

    #include <string>
    #include <Windows.h>
    
    class QueryResult {};//第三方库的代码:仅仅作为示例
    class ADO //第三方库的代码:仅仅用来说明:真正操作数据库的客户端类(或者函数族)
    {
    public:
    	bool Connect(const std::string& connectInfor) { return true; }//仅仅作为示例:连接数据库
    	bool Query(const std::string& querySql, QueryResult& result) { return true; }//仅仅作为示例:增删改查只用查询做例子
    	bool Disconnect(void) { return true; }//断开连接数据库
    };
    class DataBaseHelper //你的代码:你使用这个类来访问数据库(主要封装连接和断开连接)
    {
    public:
    	bool Connect(const std::string& connectInfor) { return  m_databaseHandle.Connect(connectInfor); }//仅仅作为示例
    	bool Query(const std::string& querySql, QueryResult& result) { return  m_databaseHandle.Query(querySql, result); }//仅仅作为示例
    	~DataBaseHelper();//析构函数负责断开连接
    private:
    	ADO m_databaseHandle;//真正操作数据库的类(或者函数族)
    };
    DataBaseHelper::~DataBaseHelper()
    {
    	m_databaseHandle.Disconnect();//程序员不需要记住要断开连接,这里总是自动调用(无需使用new动态对象)
    }
    void FunctionUseDatabaseExample(void)//这个函数代表所有访问数据库的模块(或者是线程函数)
    {
    	//有了以上的代码:我们就可以自由的使用临时变量(栈对象)访问数据库了
    	DataBaseHelper dbHelper;//注意这里是临时变量,所以多线程是安全的(每个线程函数内使用各自的临时变量,不存在临界区)
    	std::string databaseInfor("root/123456@my_odbc_name");
    	if (!dbHelper.Connect(databaseInfor))//每次访问数据库之前都先连接,断开连接由析构函数调用
    	{
    		//错误处理程序,通常是退出当前函数,不往后执行;打印日志;或者同时弹出弹框提示(客户端)
    	}
    	//正常的操作数据库的增删改查在这里进行
    	std::string querySql("balabala");
    	QueryResult result;
    	if (!dbHelper.Query(querySql, result))
    	{
    		//错误处理程序,通常是退出当前函数,不往后执行;打印日志;或者同时弹出弹框提示(客户端)
    	}
    	//继续走后续流程
    	//to do your other work
    	while (true)
    	{
    		dbHelper.Query(querySql, result);//这里表示有频繁访问数据库的需要
    		int sometime = 1000 * 2;//2秒访问一次;如果更长时间(比如50秒,超过了连接超时时间),可以在这里再次使用循环内的临时变量(替代本函数一开始创建的dbHelper)
    		Sleep(sometime);//假设这里是一个线程函数的话
    	}
    }//这里释放dbHelper,析构函数会断开与数据库的本次连接
    
    int main()
    {
    	FunctionUseDatabaseExample();
    
        return 0;
    }

    以上DataBaseHelper类对象随用随创建,不用手动断开连接;可以被反复使用,安全可靠,省心。

    其实真正的封装就这几行代码:

     

    展开全文
  • 价值6亿美刀的代码量是多少? 如果一个工程师写代码要赚6亿美元,那他大概需要写多少代码呢? 前段时间,Google工程师RaymondFarias在社交媒体说道,一名高效的谷歌工程师每天大概会写 100-150行代码。 倘若以...

    价值6亿美刀的代码量是多少?

    如果一个工程师写代码要赚6亿美元,那他大概需要写多少代码呢?

    前段时间,Google工程师RaymondFarias在社交媒体说道,一名高效的谷歌工程师每天大概会写 100-150行代码。

    倘若以这个谷歌工程师为例,全年无休不间断写代码,一年时间写的代码量预估为54750。而据领英数据统计,谷歌工程师薪酬一般在20万-100万美元不等。倘若这个工程师是100万美元年薪,要赚到6亿美元,那他需要不间断写600年,共计3285万行代码。

    谷歌的高级工程师都如此,那其他工程师就更甚了。

    然而,互联网时代是创造奇迹的时代。

    6亿美元的代码不需要写600年,也不需要写几千万行,或几万行。

    只需要区区200行左右的代码,就卖了足足6亿美刀,可以说一字千金!

    这个买代码的冤大头就是我们熟知的国际巨头——谷歌!

    谷歌的人工智能AlphaGo,它很多的升级灵感就托生于这两百行代码。

    代码的出处是一篇论文名字叫“Playing Atari with Deep Reinforcement Learning”的论文,翻译出来就是:用深度学习玩雅加达游戏。

    下图是一个曾经因为难到变态而爆红网络的小游戏,但是通过这两百行代码产生的智能程序操控,已经能将这个游戏无限玩下去了。

    (游戏效果展示 )

     

    虽然这200行代码的作用,只是进行游戏辅助,但是它涉及到的技术,却是深度学习中的强化学习内容。

    所以谷歌看到了论文和代码以及它主人的价值和潜力,谷歌最终以6亿美金的价格收购了论文以及作者所在公司——Deep mind。而Deep mind,也没有让谷歌失望,成为了目前人工智能领域最强的公司之一。

    (部分代码展示,全部代码可识别文末二维码获取)

    6亿美金,对于人工智能的发展来说只是一个开始。目前人工智能的发展已经迅速蔓延到全球,成为各国科技竞争的下一个高地。

    最近有对领英搜索的调查发现,总共有 36524 人自报告为 AI 专家。相比去年,这个数字增长了 66%。相对于全球500万AI人才的缺口,目前从业的人数显得十分渺小。

    就像前段时间的华为一样,从全球招募了8位博士,其中有7位是人工智能相关的,年薪达到200万的那位赫然在列。可以说,各国的企业对于人工智能人才的竞争是不择手段的,而高薪就是华为的阳谋。

    AI对程序员来说是“升级”而不是转行

     

    未来只有两种公司,一种是不赚钱的,另一种是人工智能公司!所以目前正是加入人工智能领域的最好时机。

    但是,很多人都认为从事人工智能就相当于转行,其实这个观点是错误的。

    首先,学人工智能不是转行。AI仅仅是一个算法模型,如果要做出产品,必须要和软件结合起来。

    你们用的还是软件,只不过这个软件封装了一个智能算法模型,它的作用就是帮助我们完成以往的软件所做不了的事情。对于AI而言,它的核心就是算法模型,但是你再厉害的算法模型,你也必须要通过计算机去执行它。

    所以对于我们这些本身从事编程开发的程序员来说,人工智能的发展就是我们未来职业发展的一条崭新的路,我们有编程开发经验,有项目实战和项目对接的经验。进入人工智能,我们缺的只是一个入门的系统学习路线。

    咕泡学院2.0系统课程无疑是最好的选择

    1.更加详细的基础知识讲解,帮助我们快速入门!

    很多学员都会担心基础以及门槛的问题,所以我们将知识点进行了细化,从Python基础到数学基础知识体系进行了系统、科学的整理,确保学员掌握人工智能学习所需要的基础理论知识。

     

    2.更加全面的深度学习理论内容,配套实战项目加深知识理解。

    相对于上一期课程,本期我们新加入了神经网络设计、算法模型评估,这些内容都是主讲老师们结合多年一线工作经验整理得出。同时,每个知识点都配备练手项目进行代码实操,帮助学员完成技术落地!

    (理论部分节选)

     

    3.从行业主流需求着手,实战项目挑战大厂高薪

    课程就业路线包括七大项目实战,不论是面试CV算法工程师,还是NLP算法工程师都能让你秒杀面试官!

    (项目部分节选)

    4.更加人性化的课程服务,保障学习效果

    程序员都避免不了加班和开会,所以本次课程采取直播为主和录播为辅的方式,将老师的直播课程进行录制,对应的源码笔记、课件、数据集都会给到学员,同时授课老师随时在线答疑,保证了同学的课程疑问能及时进行解答。

    5.强大的内推人脉圈,学员就业无忧

    很多人都知道人工智能门槛高,具体就高在基础和就业,但是这些在我们咕泡强大的内推人脉圈面前就显得微不足道了。我们在各大城市都有固定的合作内推企业,不论是一线大厂,还是AI新贵都能帮你安排内推!

    (部分内推展示)

     

    只要课程学的好,高薪工作会主动来找你

    6.谷歌大牛直播教学

    课程主讲老师秦院长,是国内第一批从事人工智能工作的研究人员,是我们从谷歌专门聘请到的行业资深大牛,而我们主讲老师和其他机构最不同的地方就是,他在授课之余自己也在做研究,而且研究的方向是强化学习方向的通用人工智能,所以我们这边的教学内容都是行业最新,最刚需的技术。

    福利到!

    为了帮助大家接触和了解人工智能,了解人工智能背后工作原理及应用。特意为大家准备了训练营活动,通过三天时间让大家对人工智能有一个更全面的认知。

    本期训练营开营时间为8月19日-8月21日,我们将结合人工智能的工作原理,人工智能与数学以及项目实战等内容免费开讲,帮助大家更全面地了解人工智能。

    课程结束后更有我们的VIP主讲老师直播答疑!我们的训练营已经召开第三期了,每期都是好评不断,精彩不容错过哟!

    训练营原价399元,现给我们的粉丝申请提供免费福利!

    免费名额仅限前200名!

    扫描下方二维码咨询老师

    领取免费课程名额

    前100名报名的同学

    还可获得附赠价值599元的学习资料

    名额有限赶快来参加吧!

    扫码立即抢占名额吧!

    有时候选择比努力更重要!

    人工智能,或许是你职业生涯的下一个飞跃!

    展开全文
  • 价值6亿美刀的代码量是多少?如果一个工程师写代码要赚6亿美元,那他大概需要写多少代码呢?前段时间,Google工程师RaymondFarias在社交媒体说道,一名高效的谷...
        

    640?wx_fmt=jpeg

    640?wx_fmt=gif&wxfrom=5&wx_lazy=1

    价值6亿美刀的代码量是多少?

    640?wx_fmt=png

    如果一个工程师写代码要赚6亿美元,那他大概需要写多少代码呢?

    640?wx_fmt=gif

    前段时间,Google工程师RaymondFarias在社交媒体说道,一名高效的谷歌工程师每天大概会写 100-150行代码。

    倘若以这个谷歌工程师为例,全年无休不间断写代码,一年时间写的代码量预估为54750行。而据领英数据统计,谷歌工程师薪酬一般在20万-100万美元不等。倘若这个工程师是100万美元年薪,要赚到6亿美元,那他需要不间断写600年,共计3285万行代码。

    谷歌的高级工程师都如此,那其他工程师就更甚了。

    然而,互联网时代是创造奇迹的时代。

    640?wx_fmt=png

    6亿美元的代码不需要写600年,也不需要写几千万行,或几万行。

    只需要区区200行左右的代码,就卖了足足6亿美刀,可以说一字千金!

    这个买代码的冤大头就是我们熟知的国际巨头——谷歌!

    谷歌的人工智能AlphaGo,它很多的升级灵感就托生于这两百行代码。

    640?wx_fmt=jpeg

    代码的出处是一篇论文名字叫“Playing Atari with Deep Reinforcement Learning”的论文,翻译出来就是:用深度学习玩雅加达游戏。

    下图是一个曾经因为难到变态而爆红网络的小游戏,但是通过这两百行代码产生的智能程序操控,已经能将这个游戏无限玩下去了。

    虽然这200行代码的作用,只是进行游戏辅助,但是它涉及到的技术,却是深度学习中的强化学习内容。

    所以谷歌看到了论文和代码以及它主人的价值和潜力,谷歌最终以6亿美金的价格收购了论文以及作者所在公司——Deep mind。而Deep mind,也没有让谷歌失望,成为了目前人工智能领域最强的公司之一。

    640?wx_fmt=png

    (部分代码展示,全部代码可识别文末二维码获取)

    6亿美金,对于人工智能的发展来说只是一个开始。目前人工智能的发展已经迅速蔓延到全球,成为各国科技竞争的下一个高地。

    最近有对领英搜索的调查发现,总共有 36524 人自报告为 AI 专家。相比去年,这个数字增长了 66%。相对于全球500万AI人才的缺口,目前从业的人数显得十分渺小。

    就像前段时间的华为一样,从全球招募了8位博士,其中有7位是人工智能相关的,年薪达到200万的那位赫然在列。可以说,各国的企业对于人工智能人才的竞争是不择手段的,而高薪就是华为的阳谋。

    AI对程序员来说是“升级”而不是转行

    640?wx_fmt=png

    未来只有两种公司,一种是不赚钱的,另一种是人工智能公司!所以目前正是加入人工智能领域的最好时机。


    但是,很多人都认为从事人工智能就相当于转行,其实这个观点是错误的。


    首先,学人工智能不是转行。AI仅仅是一个算法模型,如果要做出产品,必须要和软件结合起来。

    你们用的还是软件,只不过这个软件封装了一个智能算法模型,它的作用就是帮助我们完成以往的软件所做不了的事情。对于AI而言,它的核心就是算法模型,但是你再厉害的算法模型,你也必须要通过计算机去执行它。

    所以对于我们这些本身从事编程开发的程序员来说,人工智能的发展就是我们未来职业发展的一条崭新的路,我们有编程开发经验,有项目实战和项目对接的经验。进入人工智能,我们缺的只是一个入门的系统学习路线。

    咕泡学院2.0系统课程无疑是最好的选择

    640?wx_fmt=png

    1.更加详细的基础知识讲解,帮助我们快速入门!

    很多学员都会担心基础以及门槛的问题,所以我们将知识点进行了细化,从Python基础到数学基础知识体系进行了系统、科学的整理,确保学员掌握人工智能学习所需要的基础理论知识。

    640?wx_fmt=png640?wx_fmt=png

    左右滑动查看更多

       2.更加全面的深度学习理论内容,配套实战项目加深知识理解。

    相对于上一期课程,本期我们新加入了神经网络设计、算法模型评估,这些内容都是主讲老师们结合多年一线工作经验整理得出。同时,每个知识点都配备练手项目进行代码实操,帮助学员完成技术落地!

    640?wx_fmt=png

    (理论部分节选)

    3.从行业主流需求着手,实战项目挑战大厂高薪


    课程就业路线包括七大项目实战,不论是面试CV算法工程师,还是NLP算法工程师都能让你秒杀面试官!

    640?wx_fmt=png640?wx_fmt=png

    左右滑动查看更多(项目部分节选)

    4.更加人性化的课程服务,保障学习效果

    程序员都避免不了加班和开会,所以本次课程采取直播为主和录播为辅的方式,将老师的直播课程进行录制,对应的源码笔记、课件、数据集都会给到学员,同时授课老师随时在线答疑,保证了同学的课程疑问能及时进行解答。

    5.强大的内推人脉圈,学员就业无忧

    很多人都知道人工智能门槛高,具体就高在基础和就业,但是这些在我们咕泡强大的内推人脉圈面前就显得微不足道了。我们在各大城市都有固定的合作内推企业,不论是一线大厂,还是AI新贵都能帮你安排内推!

    640?wx_fmt=png

    (部分内推展示)

    6.谷歌大牛直播教学

    课程主讲老师秦院长,是国内第一批从事人工智能工作的研究人员,是我们从谷歌专门聘请到的行业资深大牛,而我们主讲老师和其他机构最不同的地方就是,他在授课之余自己也在做研究,而且研究的方向是强化学习方向的通用人工智能,所以我们这边的教学内容都是行业最新,最刚需的技术。

    640?wx_fmt=jpeg

    为了帮助大家接触和了解人工智能,了解人工智能背后工作原理及应用。特意为大家准备了训练营活动,通过三天时间让大家对人工智能有一个更全面的认知。

    本期训练营开营时间为8月19日-8月21日,我们将结合人工智能的工作原理,人工智能与数学以及项目实战等内容免费开讲,帮助大家更全面地了解人工智能。

    课程结束后更有我们的VIP主讲老师直播答疑!我们的训练营已经召开第三期了,每期都是好评不断,精彩不容错过哟!

    640?wx_fmt=jpeg


    640?wx_fmt=jpeg




    640?wx_fmt=jpeg

    训练营原价399元现给我们的粉丝申请提供免费福利,免费名额仅限前200名!

    领取免费课程名额

    640?wx_fmt=jpeg


    温馨提示:

    请识别二维码关注即可报名,前100名报名的同学还可获得附赠价值599元的学习资料。

    640?wx_fmt=jpeg

    640?wx_fmt=gif&wxfrom=5&wx_lazy=1

    展开全文
  • 因为在学习各种模型的过程中,我们喂给模型的数据到底长什么样子,出来的又是什么样子,只有做到心中有数,才能更好的写出相应的代码,更好的了解模型的内涵。 对于Word2Vec这种词嵌入(embding)模型,有两种喂...
  • Python支持多种图形界面的第三方库,包括:TkwxWidgetsQtGTK等等。...Tkinter我们来梳理一下概念:我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口;Tk是一个图形库,支持多个操作系统,使...
  • 为了了解目标文件的布局方式,我写了几行简单但是有非常实用的测试代码 见图 在程序中我已经加入了注释,现在我们通过objdumg这个命令来观察一下,还是先上图 我们可以看到这条命令将目标文件文件中的存储区域都...
  • 另外,代码连续运行多次以后,会有意外收获,会是啥呢?又该如何解决呢?尝试一下! 运行结果: 拼接结果: ----------相关阅读--------------------喜大普奔----------1、继《Python程序设计基础》(2017年9...
  • 下面有关JVM内存,说法错误的是?...3、方法区用于存储JVM加载的类信息、常量、静态变量、即使编译器编译后的代码等数据,是线程隔离的 4、原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的 ...
  • 简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就能用上...
  • 关注买焊机不上当,学焊接更轻松!不定期为您分享有趣的焊接知识和行业内最新消息。这期我将和大家分享,我们分享对象是我从朋友那里借来的氩弧焊和冷焊两用电焊机,下面我们先来看看这台...佳士科技(股票代码;300...
  • ![图片说明](https://img-ask.csdn.net/upload/201911/05/1572964183_726105.png) #include #include typedef struct splist { int data; splist *next; } splist; splist *CJ(splist *L) ... }
  • Eclipse应该是目前最为流行的Java IDE了。 但仍然会有MyEclipse,JBoss IDE及Spring IDE等。...我问过一个在小公司工作的朋友,说最好能按照公司的规范和框架开生成代码,执行规范,提高开发效率。 我还问过...
  • 我们给开源仓库都定义了一个叫 Gitee 指数的跟股票没什么关系的玩意,这玩意长成一个八卦图的样子,但只有 5 卦:就比如说我的 J2Cache 项目最近代码提交比较少,所以代码活跃度得分就很低。这五卦图的具体含义如下...
  • 如何让代码好维护

    千次阅读 2018-01-29 00:00:00
    先说说我们不喜欢的代码长什么样子,大函数,超过500行,甚至超过1000行;大量的hard coding;if和else if中有明显的条件关联性;注释和代码逻辑不符合,函数名与功能不符合;命名英文拼音混杂,不少英文拼写错误;...
  • 先说说我们不喜欢的代码长什么样子, 大函数,超过500行,甚至超过1000行; 大量的hard coding; if和else if中有明显的条件关联性; 注释和代码逻辑不符合,函数名与功能不符合; 命名英文拼音混杂,不少英文...
  • 那字节码长什么样子?jvm又是如何执行字节码的呢?首先我们来看下字节码长什么样子。有如下的java代码: package javalearn; public class BytecodeTest { public static void main(String[] args) { int i = 10...
  • 作为已经写了十几年代码的老程序员,虽然在编写代码的时候大部分情况还是遵循编码规范,但在这基础上会展示自己一些特性,有些程序员不喜欢缩进代码也是源于此,如同一个人什么样子靠体征能够判断得出,本身谁写...
  • 在EDK II 代码里面,DEVICE PATH 这个样子 /** This protocol can be used on any device handle to obtain generic path/location information concerning the physical device or logical device. If the ...
  • 主要内容有:该模式的介绍,包括: 引子、意图(大白话解释) 类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的实际使用案例:了解它在...
  • 时间了,有些DLL可能仅仅是引用了一下而已,其实代码里面根本就没有用到。 那么,这些没有用到的引用,会不会对我们的代码产生影响呢?我也不知道,做个实验试试看好了。 假如,我们写了两个DLL,分别为A和B。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 474
精华内容 189
关键字:

代码长什么样子