0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

做软件工程师必须要知道的20个问题

工程师人生 来源:网络整理 作者:工程师吴畏 2018-10-17 10:38 次阅读

1,针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发, 简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。

2,软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深 刻的理解这一点。

3,数据结构与算法:深刻理解像数组,列表,栈,树,图,集合等这样的基本数据结构 ,并在软件开发过程的关键部分使用好的算法。这样整个软件逻辑就会很清晰了。

4,Big-O符号来标记算法复杂度:在开发过程中,请务必使用 Big-O 符号来比较两个代 码段或者不同算法所消耗的时间复杂度,这在开发高性能软件项目中是非常重要的。

5,UML图:UML图已经是一个通用的软件设计与分析的语言。如果你们在开发软件的过程 中还没有做UML图,那么给人的感觉就是这压根就不是软件工程。

6,正确的衡量软件开发进度。

7,设计模式:设计模式是前人在解决各种各样问题的过程中总结出来的一套标准对策, 在绝大部分情况下,使用这些模式肯定是利大于弊的。如果你不想在开发过程中重新造 轮子,那么就直接使用它吧。

8,理解操作系统的基本原理:因为所有的应用程序都是直接运行在操作系统这个层级的 ,学习操作系统的基本原理能让我们对应用程序的底层以及性能有更好的把握。

9,学习计算机组成原理:几乎所有的应用程序甚至是OS都需要与物理硬件打交道的,所 以学习计算机组成原理与理解操作系统原理一样都可以让你对于应用程序有更深刻的理 解。

10,网络基础:网络与计算机组成,操作系统以及传输流程都是紧密关联的,理解网络基础 能让你在开发过程中得心应手。

11,需求分析:对于软件工程来说,需求分析是项目的起点,也是整个项目最最重要的 部分。如果这玩意你搞错了,整个项目的方向也就错了。

12,软件测试:在软件工程中,测试也是非常重要的。单元测试,黑盒测试,白盒测试,TDD,集成测试等等都是我们必须知道的。

13,独立管理:主要是说类库(JAR,DLL等等)的管理,熟悉使用一些类似Maven,Ant,lvy这样的知名工具对于大型项目的类库管理是非常有用的。

14,持续化集成:持续化集成能让测试大型模块与组件更加简单与自动化,关于这一点,你可以去了解 Hudson 这个工具。

15,ORM:了解Hibernate这种将对象与数据库表映射工具是非常有好处的,它可以减少你的代码量并节省你的代码维护时间。

16,DI(独立注入):DI或者IoC(Inversion of Control)的具体实现框架Spring能让你创建对象时更加轻松,对于大型企业级项目更是如此。

17,版本控制系统:VSC工具(SVN,TFS,CVS等)对于团队合作开发以及版本控制都是非常重要的。熟练使用这类工具算得上是必备技能。

18,国际化:通过i18n来将不同语种的字符串存储在其他文件是让软件支持多语种最好的方法。所以i18n在不同的IDE上使用的方法我们应该了解。

19,架构模式:理解类似MVC,MVP,MVVM这样的架构模式非常关键,这能让你写出易维护,简洁以及方便测试的代码。

20,编写干净的代码:你的代码仅仅只是能够正常运行是远远不够的,它必须让编程人员轻易看懂来方便后续维护,所以,代码格式以及编写易读的代码威廉希尔官方网站 都是我们需要了解的关键点。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件工程师
    +关注

    关注

    8

    文章

    218

    浏览量

    21135
收藏 人收藏

    评论

    相关推荐

    特斯拉招募软件工程师强化无人驾驶与机器人远程操作

    近日,据外媒最新报道,特斯拉正紧锣密鼓地招募软件工程师团队,旨在加强其无人驾驶出租车及Optimus机器人的远程操作能力。这一举措标志着特斯拉在推动自动驾驶与人工智能领域迈出了重要一步。 特斯拉此次
    的头像 发表于 11-27 10:26 536次阅读

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,还需要与软件工程师、硬件工程师紧密合作,对整个系统进行集成和测试。 总的来说,FPGA 算法工程师着重于算法优化,FPGA 逻辑工程师专注于逻辑设计,FPGA 原型验证
    发表于 09-23 18:26

    硬件工程师如何元器件变更的决策

    硬件工程师如何元器件变更的决策某产品在从研发转规模生产阶段,采购部门给硬件工程师推荐了新的MOSFET(称为A),该物料比该产品研发阶段使用的MOSFET(称为B)价格更低,且供货渠道更友好。作为
    的头像 发表于 07-06 08:17 503次阅读
    硬件<b class='flag-5'>工程师</b>如何<b class='flag-5'>做</b>元器件变更的决策

    找STM32硬件开发兼职工程师

    上海传感器的公司,找STM32硬件开发兼职工程师,会硬件开发,嵌入式软件开发,可项目外包。有意联系:15900460170
    发表于 06-22 19:12

    谈谈EMC,工程师必须知道的58EMC问答

    1要对产品电磁兼容设计?答:满足产品功能要求、减少调试时间,使产品满足电磁兼容标准的要求,使产品不会对系统中的其它设备产生电磁干扰。2对产品电磁兼容设计可以从哪几个方面进行?答:电路设计(包括
    的头像 发表于 06-13 08:28 472次阅读
    谈谈EMC,<b class='flag-5'>工程师</b><b class='flag-5'>必须知道</b>的58<b class='flag-5'>个</b>EMC问答

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们一起探讨一下。 1.奠定扎实
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募一名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 720次阅读

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师软件开发领域中的一种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    如何入门硬件工程师

    想跨行业硬件设计工程师,应该如何学习规划呢
    发表于 03-17 21:49

    Cognition发布首款AI软件工程师Devin

    据报道,Cognition公司今日公布了其首款人工智能软件工程师——Devin,掀起了打造软件模式变革的序幕。该产品在SWE-bench代码测验中展现出卓越表现,甚至超过了部分顶级人类工程师的水准。
    的头像 发表于 03-13 10:57 617次阅读

    如何搞崩一硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    为什么要做自动化测试?测试工程师存在的必然性

    软件测试这个过程的实施主体就是测试工程师。那么多少测试工程师比较合适呢,或者换句话说如上的事情必须要测试
    的头像 发表于 01-16 11:32 920次阅读

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不一样,所以我整理了一下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 649次阅读
    嵌入式<b class='flag-5'>软件工程师</b>常用的