这是个很有意思的问题,我一步步来回答。
人体内存在一个隐藏的生物钟,是从白天到夜晚的一个 24 小时循环节律,与地球自转一次的周期吻合。
生物钟是受下丘脑视交叉上核控制的,由一些节律基因及褪黑素来调控这个昼夜节律周期。简单来说,生物钟设定好让你「日出而作,日落而息」。
昼夜光照的改变以及摄食行为的改变都可以强制打乱这个生物钟。我前面说了,褪黑素是昼夜节律中一种重要的激素,褪黑素的分泌是有昼夜节律的,正常情况下夜间褪黑激素分泌量比白天多 5-10 倍。但是如果夜间持续接受光照,褪黑素的分泌节律会发生改变,从而影响睡眠及整个生物钟。
生物钟紊乱(比如长期日夜颠倒、翻班工作)可能导致一系列疾病,比如肥胖,高血压,糖尿病,心脑血管疾病,失眠,甚至一些肿瘤的发生。
题主问如何尽量健康地熬夜通宵,实在也是没有办法。从理论上来说题主这样的毫无规律的长时间加班方式肯定没有办法健康。我在这里只能提出一些粗浅的设想。
人体很多激素都是存在昼夜节律的,比如前面说得褪黑素,再比如生长激素,还有对人体很重要的皮质醇。
皮质醇的昼夜节律
我们可以看出,血浆皮质醇夜间极低,从大约凌晨四点开始逐步升高(其实就是准备让你醒过来) 到八点以后达到一个高峰,这样早上就能神采奕奕地工作了。
顺带一提,正常人的血糖也存在昼夜节律,半夜同样最低,这也和激素水平有关:
大家回想一下自己的通宵经历:
在你通宵打游戏、读书、上班、看球的时候,是不是半夜 1~3 点左右觉得最困呢?有没有觉得熬到黎明以后精神反而好一点了呢?
那就对了,半夜里皮质醇处在一个极低的水平,想打起精神来是非常困难的。就像题主,后半夜 3 点左右开始感觉心慌气短。
我们回到问题上来。
题主「一直是高强度连续撸代码 20 多个小时之后再回家睡 4 个小时,下午继续撸代码」。这种工作非常不规律,根本谈不上健康。
我的建议是,如果可能,尽量避免在半夜 0~4 点这个激素水平最低的时间段工作,题主仅有的四个小时睡眠可以放在这段时间。再极端一点,午夜睡个一两小时也好。
然后题主起床,连续撸 20 小时代码(中间最后再稍微午睡一小会),这样相对还健康一点。
如果后面还要继续工作,也尽可能不要让自己的日夜完全颠倒,一会在白天工作一会在夜间工作,这种颠来倒去的生活是非常不好的。