А вы занимаетесь копипастой?

proWoke

Новичок
Здравствуйте. Когда я пишу код, то очень много я просто копирую->вставляю->правлю. Т.е. я могу даже толком не помнить как полностью работает код, зато я помню где его скопипастить (мои файлы, форумы, документация и т.д. ). Мне интересно так все делают? Или есть те, кто всё пишут руками, чтобы язык не забывался, а лучше укладывался в голове. Потому, что мне кажется, из-за этой копипасты я язык забываю.
 

Redjik

Джедай-мастер
Тогда ответ на твой вопрос - нет, тут все ООП используют и автокомплит в IDE.
Копипаста - зло.
 

Фанат

oncle terrible
Команда форума
приведи пример такой копипасты.
а то не очень понятно, о каком уровне идёт речь.

у меня вот обратная проблема - я не помню, что где писал, и пишу заново.
но вообще, функциональный код весь лежит в библиотеках, а пишется только конкретная логика конкретного скрипта, а она редко повторяется. А если начинает повторяться, то выносится в библиотеку.
 

proWoke

Новичок
приведи пример такой копипасты.
а то не очень понятно, о каком уровне идёт речь.
Ну вот такой примерно:
PHP:
if (@file_exists($tmp_name)) {
	$file_info = getimagesize($tmp_name);
	if ($flag_result) {
		if (preg_match('{image/(.*)}is', $file_info['mime'], $pocket)) {
			$new_name = time();
			$image = new Resize_Image;
			$image->new_width = 221;
			$image->new_height = 221;

			$image->image_to_resize = $tmp_name; // Full Path to the file
			$image->ratio = true;
			$image->new_image_name = "min_".$new_name;
			$image->save_folder = $server."/images/header/";
			$process = $image->resize();
			
			$path_to_mini = $image->save_folder.$image->new_image_name.'.'.$image->new_ext; 
			$path_to_big = $image->save_folder."/".$new_name.".".$pocket[1];
			
			move_uploaded_file($tmp_name, $path_to_big);
		} else {
			$flag_result = false;
			$_SESSION['message_error'] = "<span class='class_red'>Это не графический файл!</span>";
		}
	}
} else {
	$_SESSION['message_error'] = "<span class='class_red'>Вы забыли выбрать файл!</span>";
	$flag_result = false;
}

$sql = "INSERT INTO `main_slider` SET `maintext`=?, `text`=?, `color`=?, `href_to`=?, `miniFile`=?, `bigFile`=?";
$slider_one = $dbh->prepare($sql);
$slider_one->execute(array($main_text, $text_text,$color, $href_slide, $path_to_mini, $path_to_big));

if ($flag_result === true) {
	$_SESSION['message_error'] = "<span class='class_green'>Слайд успешно добавлен.</span>";
}
header("Location: /admin/?page=addSlide");
 

Фанат

oncle terrible
Команда форума
на работе я использую нетбинс, но автокомплит меня дико раздражает :)
и, в общем, автокомплит не имеет такого уж отношения к копипасте.

по поводу кода - код ресайзера в обязательном порядке убирается в библиотеку, и в приложении остаётся 2-3 строчки вызова.
 

proWoke

Новичок
на работе я использую нетбинс, но автокомплит меня дико раздражает :)
и, в общем, автокомплит не имеет такого уж отношения к копипасте.

по поводу кода - код ресайзера в обязательном порядке убирается в библиотеку, и в приложении остаётся 2-3 строчки вызова.
Ну тут вроде и так в библиотеке
PHP:
$image = new Resize_Image;
 

Фанат

oncle terrible
Команда форума
ДА ЛАДНО
что - нельзя что ли вызвать Resize_Image(), передав в неё размеры и путь к файлу?
а все проверки и присвоения оно уже пусть делает внутри?

ресайзер имеется в виду ресайзер/аплоадер.
 

Redjik

Джедай-мастер
Фанат
Ага, то есть против фреймворков, но пусть будет 100500 либ подгружаться, которые еще и через пэттерны не организовать ибо будет слишком много зависимостей
 
  • Like
Реакции: scb
Сверху