банальности (программирование)
Oct. 30th, 2007 12:10 amВидимо, написание самодокументируемого кода в принципе невозможно (а казалось ведь, что да).
1. Мало мальски нетривиальный алгоритм или математическую формулу возможно внятно запрограммировать, но никак невозможно разобрать среднему человеку. К формуле должен быть приложен её вывод (то есть, отсылка к тексту учебника), то же самое (отсылка к изложению идей алгоритма, обоснованию его правильности) и во втором случае.
2. Некоторые вещи пишутся для того, чтобы другие вещи (в другом куске кода) не падали или просто могли работать. Не в смысле написания каких-то дурацких заплаток. Вот например, "сейчас мы посчитаем вот это, потому, что это надо нам в другом месте, а там мы это посчитать уже не сможем". А тут мы возьмём критическую секцию потому, что если мы её не возьмём, то в другом месте обломаемся, хотя и факт того, что такая ситуация возможна сразу не очевиден. Без комментариев тут не обойтись.
3. Мало того, некоторые вещи можно, на первый взгляд, сделать разными способами, но выбираешь именно "вот этот способ", потому, что более очевидный приведёт к каким-то неочевидным сразу проблемам. И причину этого выбора придется комментировать, увы.
Смешно, что ранее этого четко не сознавал.
1. Мало мальски нетривиальный алгоритм или математическую формулу возможно внятно запрограммировать, но никак невозможно разобрать среднему человеку. К формуле должен быть приложен её вывод (то есть, отсылка к тексту учебника), то же самое (отсылка к изложению идей алгоритма, обоснованию его правильности) и во втором случае.
2. Некоторые вещи пишутся для того, чтобы другие вещи (в другом куске кода) не падали или просто могли работать. Не в смысле написания каких-то дурацких заплаток. Вот например, "сейчас мы посчитаем вот это, потому, что это надо нам в другом месте, а там мы это посчитать уже не сможем". А тут мы возьмём критическую секцию потому, что если мы её не возьмём, то в другом месте обломаемся, хотя и факт того, что такая ситуация возможна сразу не очевиден. Без комментариев тут не обойтись.
3. Мало того, некоторые вещи можно, на первый взгляд, сделать разными способами, но выбираешь именно "вот этот способ", потому, что более очевидный приведёт к каким-то неочевидным сразу проблемам. И причину этого выбора придется комментировать, увы.
Смешно, что ранее этого четко не сознавал.