zoukankan      html  css  js  c++  java
  • 从寻找资源的习惯上谈如何获得好的代码及控件(使用Koders查找)

    严格来讲,本文不是一个技术贴,但是却和我们的技术探索息息相关,每个人的寻找资源的习惯不同,因此获得的资源类型及数量也不同。至于如何获取相应的资源,各种习惯和方法,个人有个人的选择,本无可厚非,这里仅仅是从我本人的习惯方法,来谈论下获取资源的思路及途径,抛砖引玉,共同受益。

    作为技术人员来说,我们一般常用的查找资源途径,基本上是通过Google、Bing、Baidu的查询,有时候也会跟着去Codeproject、博客园、CSDN等其他地方去寻找所要的资源,这些途径基本上能满足大多数的期望值,但是有时候针对性不够强,需要经过多次的筛选,才能寻到需要的代码或者控件等。

    其实作为代码的查找,有一个地方http://www.koders.com/ ,这个是很不错的寻找代码地方,它里面有大量的开源代码,顺藤摸瓜,追本溯源,我们就可以找到优秀开源组件的地址,或下载,或借鉴,善莫大焉。

    例如,有一天,我突然有一个想法,想做一个POP3相关的程序,因此在Google上搜索了一下POP3 C#,发现很多基本的介绍、概念的陈述,翻了多页也未获得我期望的东西,因此期望有更好的面向开发的代码搜索,因此想到了http://www.koders.com/

    如我查找了PoP、C#语言的内容,得到下面的搜索结果,其中很多可以参考人家的一些代码思路,有些可以直接下载过来用的。

     很快可以找到一个如下所示的代码片段

    当看中一些比较相似的结果后,我们就可以看其完整的项目地址,从中找到开源组件资源的下载地址即可。

    这样我们在上图红色框框中就可以项目的完整地址,然后到具体的首页去下载所需要的资源即可,绝大多数的项目源码是可以下载的。

    上面这个组件就是非常有名的LumiSoft.Net开源组件,这样你再在Google、百度、Bing上进行搜索,就知道该组件的具体用法和更详细的资源了。非常棒吧,这样你就可以利用前人弄好的轮子(而且是性能非常不错的轮子),直接装配使用即可,不需要再去做笨龊的重复发明了。

     

    采用了该组件的POP部分组件,测试下用POP方式获取邮件,代码变得非常方便和简单明了,代码如下所示:

            List<string> gotEmailIds = new List<string>();
            List
    <Mime> result = new List<Mime>();
            
    using (POP3_Client pop3 = new POP3_Client())
            {
                pop3.Connect(
    "pop.163.com"110);
                pop3.Authenticate(
    "wuhuacong""******"false);
                POP3_ClientMessageCollection infos 
    = pop3.Messages;

                
    int i = 0;
                
    foreach (POP3_ClientMessage info in infos)
                {
                    
    //每封Email会有一个在Pop3服务器范围内唯一的Id,检查这个Id是否存在就可以知道以前有没有接收过这封邮件
                    if (gotEmailIds.Contains(info.UID))
                        
    continue;
                    
    //获取这封邮件的内容
                    byte[] bytes = info.MessageToByte();
                    
    //记录这封邮件的Id
                    gotEmailIds.Add(info.UID);
                    
    //解析从Pop3服务器发送过来的邮件信息

                    LumiSoft.Net.Mail.Mail_Message msg 
    = LumiSoft.Net.Mail.Mail_Message.ParseFromByte(bytes);
                    Console.WriteLine(msg.BodyText);
                    
    if (msg.Date.AddDays(5< DateTime.Now)
                    {
                        Console.ReadLine();
                        
    break;
                    }
                }
            }

    性能非常不错,而且获取到的邮件内容不会出现乱码,比直接在Google上找到的代码例子好很多,那些或多或少只是一个试验品,和这样的优秀组件的质量差别还是相当大的。

    本人以上应用纯粹只是一个日常例子,但是很多情况下,我们如果能够增加这样的步骤去寻找一些东西,获得的收益是无穷的,

    上天不能给你的东西,Google可以帮到你,Google帮不到你的地方,可以试试koders。

    主要研究技术:代码生成工具、会员管理系统、客户关系管理软件、病人资料管理软件、Visio二次开发、酒店管理系统、仓库管理系统等共享软件开发
    专注于Winform开发框架/混合式开发框架Web开发框架Bootstrap开发框架微信门户开发框架的研究及应用
      转载请注明出处:
    撰写人:伍华聪  http://www.iqidi.com 
        
  • 相关阅读:
    软件工程——第一次作业
    软件工程结对编程第二次作业
    软件工程结对编程第一次作业
    软件工程第三次作业
    软件工程第二次作业
    软件工程第一次作业
    阿里云服务器ECS WindowsServer2016配置IIS遇到的坑
    微信小程序跳坑指南——小程序上线半年后遇到的坑总结
    VS2013 RC 此模板尝试加载组件程序集 “NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral.........
    Mysql主从复制原理及配置
  • 原文地址:https://www.cnblogs.com/wuhuacong/p/1763274.html
Copyright © 2011-2022 走看看