У нас есть ArrayList
элементов в нескольких классах, которые приносят мне проблемы каждый раз, когда я хотел бы вставить новый элемент в список. С моей стороны было ошибкой разрабатывать классы так, как я делал, но изменение дизайна теперь было бы скорее головной болью, чем это стоит (бюрократическая модель водопада). Я должен был предвидеть изменения формата в документах, которые клиент поставлял нам водопад будь проклят.Код переформатирования с регулярными выражениями
Я хотел бы написать простой скрипт в python, который входит в класс, добавляет элемент в список и затем увеличивает все результаты поиска для следующих элементов. Это не звучит очень толковый:
Foo extends Bar{
public Foo(){
m_Tags.add("Jane");
m_Tags.add("Bob");
m_Tags.add("Jim");
}
public String GetJane() { return m_ParsedValue.get(m_Tags.get(1)); }
public String GetBob() { return m_ParsedValue.get(m_Tags.get(2)); }
public String GetJim() { return m_ParsedValue.get(m_Tags.get(3)); }
}
Вы видите, если я хочу, чтобы добавить значение между «Джейн» и «Боб» Я тогда придется увеличивать целые числа в Get * функций. Я просто хочу написать простой скрипт в Python, который выполняет эту работу для меня. Кто-то, кого я очень уважаю, предлагал regex.
Edit:
Да, LinkedHashMap. Так просто, так просто и так не в дизайне сейчас. Я ненавижу водопад. Ненавижу это со страстью. Весь этот бит был «небольшой» и «легкой» частью, которая «не должна тратить много времени на разработку». Я сделал ошибки. Теперь он застрял в камне.
Позволь мне получить это прямо: у вас есть огромная, неуправляемая масса коды Java, наполненная магия номера и жестко закодированные строки, и вы хотите вставить их в середину и увеличивать следующие числа с помощью python? – Jorenko
Почему вы не используете HashMap для этого? Просто используйте строку в качестве ключа и верните номер, который вы хотите ... Мне кажется, что это более естественный способ сделать это. – Khelben
@ Джоренко: Да и нет.Строки берутся из проприетарных отформатированных клиентских документов, которые передаются в нашу заявку. Код не огромен и не нарушает DRY. Однако вы правы. Там тонна волшебных чисел, и да, я хочу вставить один посередине. – wheaties