我觉得自己程序设计能力比较弱,如何提高程序设计能力?

我觉得自己程序设计能力比较弱,如何提高程序设计能力?在程序设计的时候会感觉到手足无措,或者紧张、困难

因为我感觉你说的可能不只是程序设计,所以这里啰嗦一下。
首先需要确定你做的是那一层次的工作。
在软件的开发中,有很多的设计工作要做,这里我自顶向下粗略的划分一下(划分方法不唯一):

  1. 概念设计,通常概念设计指的是基于用户需求来设计概念产品(一般是产品经理做的事情)
  2. 架构设计,为你想实现的概念产品搭建基本的逻辑骨架。在这个过程中你可能会用到一些经典模式(MVC、broker、pipes&filters之类的)
  3. 功能设计,划分功能模块与非功能模块,定义每个模块的职责、模块内的子模块、模块之间的接口(在这里的时候,需要结合编程语言、框架、通用组件等)。
    在这里,如果子模块足够小,那么就可以称为一个程序。在代码体现上可以是一个类、也可以是一个或一组方法等等
  4. 程序设计,所有的程序都会有其必需要解决的问题,这个问题通常很小(比如:计算A点到B点的最短路径),通常这些问题都可以通过算法与数据结构来解决。

所以你需要确定的是:你面对的是哪个层次的问题,进而学习对应的知识。

  • 如果是程序设计方面,那么主要是熟悉算法、数据结构、标准库等相关的知识(根据场景会有其他的知识,如果你是一个C程序员,那你通常就还需要知道网络编程、操作系统之类的知识。如果是个前端,那通常就需要知道函数式编程、浏览器、B/S通信相关的知识)
  • 如果是功能设计方面,那么主要是熟悉你所在的平台的抽象模型、编程范式(如C++程序员通常需要熟悉面向对象设计的概念,前端则是原型链相关的概念,游戏开发的工程师有些也会需要熟悉面向数据编程的概念)
  • 如果是架构设计方面,那么主要是熟悉经典的模式、了解开源组件、熟悉常用框架等。
    (上述例子只是通常情况下,语言和编程范式并不一定绝对冲突,如使用C++也可以实现面向数据编程)