Что значит плоский код?
Код, который написан и читается, словно он вовсе не асинхронный (все вызовы друг за другом).
пример из jsconst parseAdminsData = async ()=>{
  const token = await getToken();
  const users = await getUsers(token);
  const admins = users.filter(({isAdmin})=>isAdmin);
  return admins;
}
вот тут два асинхронных запроса, но в коде они выглядят просто как вызовы функций. (без колбэков)
вложенный код (nested):for a in range(10):
    for b in range(20):
        for c in range(30):
            for d in range(40):
                if d == 1:
                    if c == 1:
                        if b == 1:
                             if a == 1:
                                  print('nested code')
плоский код (flat):for a in range(10):
    print('flat code')
видно, что вложенный код читается очень плохо - поэтому надо стараться писать плоский код, это сэкономит вам через несколько месяцев время и другому человеку, который будет читать код. 
к тому же, вложенный код работает медленней, чем плоский и его скорее всего, можно привести к плоскому коду.