The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Сбор средств на поддержание ленты новостей OpenNET в 2019 го..."
Отправлено Ordu, 10-Апр-19 13:18 
> Как раз таки всем.

Не всем, а тем кто переделывает, то есть разработчикам, которые непосредственно заняты переделками.

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

Это оторванные от реальности сопли. Сайт написан на перле, так? Ты заглядывал когда-нибудь в перл? Это язык, который вообще-то был заточен на работу со строками, и в любой программе на перле строковые операции и строки везде. В каждой второй строчке программы. И каждую вторую строчку надо пересмотреть, чтобы перейти от однобайтовой koi8-r к мультибайтовой utf8. Но, что хуже, это крайне сложно делать частями. То есть перевести кусочек perl'овой программы на utf8, оставив остальное на koi8-r, может оказаться не сильно проще, чем переписать всё.

Я не настолько знаю perl, чтобы рассуждать о его системе типов, но что-то мне подсказывает, что его система типов не настолько развита и строга, чтобы можно было бы в дополнение к типу "koi8-r строка" объявить тип "utf8 строка" и постепенно устранять использования первого, заменяя их на использования второго, так, чтобы компилятор (статический анализатор) сообщал бы обо _всех_ косяках, где происходит смешение типов, или где мы, конвертируя строку из koi8-r в utf8 или в обратную сторону, забыли обработать возможную ошибку перекодирования.

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

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру