软件开发学习方向【一】


下面这些,都是我想对三年前的我说的,部分内容只代表自己的观点,当然你也应该有自己的思考,不要盲从:
1、为自己做一些小工具,解决自己平时的需求,这样可以增加兴趣,C#非常擅长做这块
2、购买或试用ReSharper :: The Most Intelligent Extension for Visual Studio,写代码时照着Reshaper的提示改,可以很快熟悉C#的高级语法
举个例子,取Age大于20的User的Name,用循环可以这样做:

List<string> names = new List<string>();
for (int i = 0; i < users.Count; i++)
{
    User u = users[i];
    if (u.Age > 20)
    {
        names.Add(u.Name);
    }
}

可以被resharper格式化成:

var names = new List<string>();
for (var i = 0; i < users.Count; i++)
{
    var u = users[i];
    if (u.Age > 20)
    {
        names.Add(u.Name);
    }
}

这样就知道了var关键字。这时候resharper会提示for循环可以写成这样:

var names = new List<string>();
foreach (var u in users)
{
    if (u.Age > 20)
    {
        names.Add(u.Name);
    }
}

这样就知道了foreach语法。这时候resharper会提示还可以写成这样:

var names = users.Where(u => u.Age > 20).Select(u => u.Name).ToList();

这样就知道了LINQ,看LINQ的表达能力多么强大。resharper就像一个随时能给你反馈的老师一样。一旦你学会的这些高级语法,完全可以不再使用resharper的。
3、在 LeetCode Online Judge 上刷题,可以练习编程基本功和C#语法,同时对面试有益
4、如果做Web的话,不要使用Webform
5、遇到问题,调试、Google(或者一些代理,如天外天搜索 - 基于Google的搜索引擎)、在Stack Overflow上提问
6、没事逛逛GitHub · Build software better, together.,特别是:
quozd/awesome-dotnet · GitHub
.NET Foundation · GitHub
aspnet · GitHub
例如:
如果想参与C#的设计:
C# 7 Work List of Features · Issue #2136 · dotnet/roslyn · GitHub
C# Design Meeting Notes for Apr 14, 2015 · Issue #2134 · dotnet/roslyn · GitHub
C# should support indexed property · Issue #2144 · dotnet/roslyn · GitHub
如果想参与.Net框架库的设计:
Propose: new method Enumerable.IndexOf · Issue #1415 · dotnet/corefx · GitHub
Add overloads to string trimming · Issue #1244 · dotnet/corefx · GitHub
New API for single-precision math · Issue #1151 · dotnet/corefx · GitHub
如果想参与CLR的设计:
Consider reference counter as alternative garbage collector · Issue #430 · dotnet/coreclr · GitHub
(Discussion) Lightweight Boxing? · Issue #111 · dotnet/coreclr · GitHub
7、《CLR via C#》是迟早要看的,配合工具ILSpy看,其它C#书没事翻一翻就好了
8、其它通用的书:《编码的奥秘》、《编写可读代码的艺术》、《编写高质量代码》、《编译原理》、《程序员的自我修养—链接、装载与库》、《程序员修炼之道:从小工到专家》、《代码大全》、《代码整洁之道》、《算法导论》、《重构.改善既有代码的设计》等
9、不要局限在C#或.Net上,C++、node、linux、mysql、js等等,如果感兴趣,都可以玩的,当然也不要局限在语言(咳咳...中文...咳咳)上

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值