Forums / National / Russian / Идеи / Просто несколько мыслей вслух

Kopusha
#1 2024-02-23 09:39

Особенно будет полезно новичкам, осваивающим движек
Покажу кусочек кода и потом напишу что про него думаю

if (!in_array($usr['id'], $cfg['admin_user_ids']) && !in_array($usr['id'], $cfg['test_user_ids']) && !in_array($usr['id'], $cfg['moder_user_ids']))
{
	$isadmin = 0;
}
else
{
	$isadmin = 1;
}

Тут в режиме проверки id юзера вычисляют права доступа к некой функциональности
Очевидно где то есть $cfg['test_user_ids'] = array(63,4); и тд

Далее это используют так

		if (!$isadmin)
		{
			cot_die_message(404);
		}

То есть если ты не в списке тестеров админов модераторов - cot_die_message

или так

			if (!$isadmin)
			{
				$wide = cot_import('wide', 'G', 'ALP');
			}
			else
			{
				$accuracy = cot_import('accuracy', 'G', 'ALP');
			}

То есть если ты не в списке тестеров админов модераторов - получи wide а иначе accuracy

 

А затем такой кусочек

				$where = array();
				$users_in_blocked = array();
				$users_in_blocked = cot_blocked_all_blockedme((int)$usr['id']);//array (32,4,900);
				//no check if (!$isadmin)
				//admins (real admins) can not be blocked, but if a tester or moderator is blocked ($cfg['test_user_ids']) he can not see stories
				$where_condition = "AND item_userid NOT IN (".$users_in_blocked.")";

или такой

				//no check if (!$isadmin) use if (!$usr['isadmin']) instead
				//admins (real admins) can see hidden, but if a tester or moderator is blocked ($cfg['test_user_ids']) he can not see stories only 4 friends
				if (!$usr['isadmin'])
				{
					$where_friends = "AND (s.item_only_friends=0 OR s.item_userid=".$usr['id']." OR s.item_userid IN (".implode(',', $friends_ids)."))";
				}

Тут используется if (!$usr['isadmin']) вместо if (!$isadmin) - потому что это не надо видеть модерам и тестерам

Что я всем этим хотел сказать - пишите комментарии к коду. Особенно если это что то не очевидное и вдруг в коде что то внезапно делается по другому. Не только другие люди скажут вам спасибо, вы сами, вернувшись к коду через год будете рады. Не жалейке строчек.

vpktz
#2 2024-02-23 17:29

Именно такой уровень документации крайне не хватает, именно это я и хотел что бы было.

Вот была бы версия cotonti с полными комментариями ко всем переменным, циклам, условиям и тд.

Получилось бы изумительная книга - МАНУАЛ с большой буквы.

 

И не так что редкие  комментарии к каким то огромным блокам или страницам а подробно, к  каждой строке, условию, циклу каждой страницы  и тд...

 

Kopusha
#3 2024-02-23 20:59

Дружище - это написанное на заказ, где 10 раз продуманный каждый нюанс и это стоит стоит больших денег.

Added 21 minutes later:

Я скорее имел в виду - особенно начинающие - пишите доки. У меня для проекта любого доков больше чем кода иногда.

 

This post was edited by Kopusha (2024-02-23 21:20, 2 months ago)