Легко читаемый код

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Легко читаемый код

Сообщение Ramzes » 23.02.2005 (Ср) 13:53

Код в орегинале:
Код: Выделить всё
Dim Mfile() As String
Dim MfileLen() As Integer
Dim arrVal As Long
Dim temparrval As Long
Dim temp As String
Dim TempArr() As String
Dim OnExitArr() As String


Private Sub Form_Load()
Open "c:\1.txt" For Input As #1
Do Until EOF(1)
    Line Input #1, q
    arrVal = arrVal + 1
Loop
Close #1
    ReDim Mfile(1 To arrVal)
    ReDim MfileLen(1 To arrVal)
    ReDim OnExitArr(1 To arrVal)
temparrval = 1
Open "c:\1.txt" For Input As #1
Do Until EOF(1)
    Line Input #1, txt
    Mfile(temparrval) = txt
    temparrval = temparrval + 1
Loop
Close #1
For q = 1 To arrVal
    MfileLen(q) = Len(Mfile(q))
Next
For q = 1 To arrVal
    ReDim TempArr(1 To MfileLen(q))
    For w = 1 To MfileLen(q)
        TempArr(w) = Asc(Mid(Mfile(q), w, 1))
        If TempArr(w) < 32 Then Exit Sub
        If TempArr(w) > 250 Then
            TempArr(w) = TempArr(w)
        End If
        TempArr(w) = TempArr(w) + 5
        OnExitArr(q) = OnExitArr(q) & Chr(TempArr(w))
    Next
Next
For r = 1 To arrVal
    ss = ss & OnExitArr(r) & vbCrLf
Next
MsgBox ss
End Sub

и код котрый легко прочитать :lol:
Код: Выделить всё
Dim Mfile() As String: Dim MfileLen() As _
Integer: Dim arrVal As Long: Dim temparrval _
As Long: Dim temp As String: Dim TempArr() _
As String: Dim OnExitArr() As String
Private Sub Form_Load(): Open "c:\1.txt" _
For Input As #1: Do Until EOF(1): Line Input _
#1, q: arrVal = arrVal + 1: Loop: Close #1: _
ReDim Mfile(1 To arrVal): ReDim MfileLen(1 _
To arrVal): ReDim OnExitArr(1 To arrVal): _
temparrval = 1: Open "c:\1.txt" For Input _
As #1: Do Until EOF(1): Line Input #1, txt: _
Mfile(temparrval) = txt: temparrval = temparrval _
+ 1: Loop: Close #1: For q = 1 To arrVal: _
MfileLen(q) = Len(Mfile(q)): Next: For q = 1 _
To arrVal: ReDim TempArr(1 To MfileLen(q))
For w = 1 To MfileLen(q): TempArr(w) = _
Asc(Mid(Mfile(q), w, 1)): If TempArr(w) < 32 _
Then Exit Sub
If TempArr(w) > 250 Then: TempArr(w) = TempArr(w)
End If: TempArr(w) = TempArr(w) + 5: OnExitArr(q) _
= OnExitArr(q) & Chr(TempArr(w))
Next: Next: For r = 1 To arrVal: ss = ss & _
OnExitArr(r) & vbCrLf: Next: MsgBox ss: End Sub


Код вполне рабочий и даже компилируется, я просто одному знакомому его так давал, он сильно кричал что прочитает любой код и поймет смысл с первого раза, но это уже отдельня история

Хотелось узнать может кто действительно так пишет? :lol:
Последний раз редактировалось Ramzes 23.02.2005 (Ср) 14:41, всего редактировалось 1 раз.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.02.2005 (Ср) 14:15

А ты сходи на http://thedailywtf.com/ , там показывают, кто действительно так пишет. И ещё даже не так порой...
Изображение

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 23.02.2005 (Ср) 16:42

Только не смейтесь над вопросом и не называйте меня идиотом, я и сам это знаю :) :oops:
----------------------------------------------------
Собственно вопрос:
А разница есть, если напишу как первый код или как второй код???
Я к тому что, например есть оптимизатор HTML кода.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 23.02.2005 (Ср) 16:51

Компилятору всё равно, Шурик... Он, грубо говоря, заменяет все "_" и ":" на ничего и vbCrLf, получая код вида №1 ;)

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 23.02.2005 (Ср) 16:51

Нет никакой разницы, только второй код читать тяжелее и ошибки в таком коде ой как трудно искать :D

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 23.02.2005 (Ср) 17:05

спасибо люди добрые!!! :)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 23.02.2005 (Ср) 20:11

Кстати, вы будете смеяться, но код вида "2" (в 1 посте) нам написал информатик на каком-то из занятий... Потом мы дружно ловили блох в коде пол-пары...

П.С. прога была на целую убористо исписанную доску

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 24.02.2005 (Чт) 18:18

Шурик писал(а):Только не смейтесь над вопросом и не называйте меня идиотом, я и сам это знаю :) :oops:
----------------------------------------------------
Собственно вопрос:
А разница есть, если напишу как первый код или как второй код???
Я к тому что, например есть оптимизатор HTML кода.


Ну представь, что вчера ты написал такой вод код :
Код: Выделить всё
Dim AAA() As String: Dim AAAA() As _
Integer: Dim AAAAA As Long: Dim AAAAAA _
As Long: Dim AAAAAAA As String: Dim AAAAAAAA() _
As String: Dim AAAAAAAAA() As String
Private Sub Form_Load(): Open "c:\1.txt" _
For Input As #1: Do Until EOF(1): Line Input _
#1, q: AAAAA = AAAAA + 1: Loop: Close #1: _
ReDim AAA(1 To AAAAA): ReDim AAAA(1 _
To AAAAA): ReDim AAAAAAAAA(1 To AAAAA): _
AAAAAA = 1: Open "c:\1.txt" For Input _
As #1: Do Until EOF(1): Line Input #1, txt: _
AAA(AAAAAA) = txt: AAAAAA = AAAAAA _
+ 1: Loop: Close #1: For q = 1 To AAAAA: _
AAAA(q) = Len(AAA(q)): Next: For q = 1 _
To AAAAA: ReDim AAAAAAAA(1 To AAAA(q))
For w = 1 To AAAA(q): AAAAAAAA(w) = _
Asc(Mid(AAA(q), w, 1)): If AAAAAAAA(w) < 32 _
Then Exit Sub
If AAAAAAAA(w) > 250 Then: AAAAAAAA(w) = AAAAAAAA(w)
End If: AAAAAAAA(w) = AAAAAAAA(w) + 5: AAAAAAAAA(q) _
= AAAAAAAAA(q) & Chr(AAAAAAAA(w))
Next: Next: For r = 1 To AAAAA: ss = ss & _
AAAAAAAAA(r) & vbCrLf: Next: MsgBox ss: End Sub
А сегодня он не работает... Вот не замучаешься ты его отлаживать? Я раз попробовал и твердо теперь уверен : быстрее с ноля написать, чем такую хх.мантию восстанавливать.

Tatyanka
Немного Иная
Немного Иная
Аватара пользователя
 
Сообщения: 876
Зарегистрирован: 02.12.2004 (Чт) 13:55
Откуда: Киев

Сообщение Tatyanka » 24.02.2005 (Чт) 18:29

О, это мысль, такие коды надо заклятым друзьям подкидывать. :lol: Ну, или когда заставляют писать что-то неинтересное. Себе нормально написать, а им так... :twisted:
Мы - Иные. Мы служим разным силам. Но в сумраке нет разницы между отсутствием тьмы и отсутствием света. Наша борьба способна уничтожить мир. Мы заключаем Великий Договор о перемирии...

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 24.02.2005 (Чт) 19:22

У меня вот абсолютно нормально читаемый код помню не работал. Представьте ситуацию : компилю прогу на си под unix, зову препода. Запускаю ... Прога пишет что-то типа Please input data >> : Препод вводит данные (ну типа дня рождения, а выдать должно к примеру день недели). Прога в ответ : Error!!! The Uncorrect Data!!! Препод мне типа что за фигня? Я грю - не знаю, это не прога, это юникс ругается!!! Ну он мне : ты что, дурак? Юникс так сроду не ругался... Я грю : извиняйте, не знаю, как там юникс, но моя прога по другому бы вас послала. Смотрим код: там к примеру если некоректные данные, то сказать "Семен Семеныч... :cry: " Плюс прога всего из пяти строк, их нужно было штук шесть за полпары сдать.У препода глаза на лоб, он смотрит в пять строк кода, компилит его лично, запускает... Ему в ответ : Error!!! The Uncorrect Data!!! У препода пот на лбу выступать начинает... Он повторяет процедуру снова, и тут я боковым зрением вижу своего кореша, которого я час назад на другой машине запустил под своим паролем( он гад свой забыл) и который в быстром темпе отлаживает для сдачи свою точно такую же прогу на МОЕМ диске, умудряясь перекомпилить за долю секунды в такое самое имя свою прогу, которая на неверные данные выдает Error!!! The Uncorrect Data!!! За мат меня препод чуть с пары не выгнал... Но когда понял, в чем дело, сам над собой чуть со смеху не сдох.

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 24.02.2005 (Чт) 22:10

Ramzes писал(а):Хотелось узнать может кто действительно так пишет? :lol:

А может кто-нибудь обфускатором подрабатывает :)

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 25.02.2005 (Пт) 18:26

vvs_adm писал(а):
Шурик писал(а):Только не смейтесь над вопросом и не называйте меня идиотом, я и сам это знаю :) :oops:
----------------------------------------------------
Собственно вопрос:
А разница есть, если напишу как первый код или как второй код???
Я к тому что, например есть оптимизатор HTML кода.


Ну представь, что вчера ты написал такой вод код :
Код: Выделить всё
Dim AAA() As String: Dim AAAA() As _
Integer: Dim AAAAA As Long: Dim AAAAAA _
As Long: Dim AAAAAAA As String: Dim AAAAAAAA() _
As String: Dim AAAAAAAAA() As String
Private Sub Form_Load(): Open "c:\1.txt" _
For Input As #1: Do Until EOF(1): Line Input _
#1, q: AAAAA = AAAAA + 1: Loop: Close #1: _
ReDim AAA(1 To AAAAA): ReDim AAAA(1 _
To AAAAA): ReDim AAAAAAAAA(1 To AAAAA): _
AAAAAA = 1: Open "c:\1.txt" For Input _
As #1: Do Until EOF(1): Line Input #1, txt: _
AAA(AAAAAA) = txt: AAAAAA = AAAAAA _
+ 1: Loop: Close #1: For q = 1 To AAAAA: _
AAAA(q) = Len(AAA(q)): Next: For q = 1 _
To AAAAA: ReDim AAAAAAAA(1 To AAAA(q))
For w = 1 To AAAA(q): AAAAAAAA(w) = _
Asc(Mid(AAA(q), w, 1)): If AAAAAAAA(w) < 32 _
Then Exit Sub
If AAAAAAAA(w) > 250 Then: AAAAAAAA(w) = AAAAAAAA(w)
End If: AAAAAAAA(w) = AAAAAAAA(w) + 5: AAAAAAAAA(q) _
= AAAAAAAAA(q) & Chr(AAAAAAAA(w))
Next: Next: For r = 1 To AAAAA: ss = ss & _
AAAAAAAAA(r) & vbCrLf: Next: MsgBox ss: End Sub
А сегодня он не работает... Вот не замучаешься ты его отлаживать? Я раз попробовал и твердо теперь уверен : быстрее с ноля написать, чем такую хх.мантию восстанавливать.


Хе.... я так точно не напишу даже в нетрезвом состоянии :)

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 25.02.2005 (Пт) 18:29

Шурик писал(а):Хе.... я так точно не напишу даже в нетрезвом состоянии :)
Я тогда пытался отладить код, написанный мной на асме в пьяном виде. :lol:

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 25.02.2005 (Пт) 19:42

Да писать проги в нетрезвом состоянии чревато осложнениями отладки в трезвом :lol:

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 25.02.2005 (Пт) 20:46

Ramzes писал(а):Да писать проги в нетрезвом состоянии чревато осложнениями отладки в трезвом :lol:
Ну да, я долго смотрел на две строки примерно следующего содержания (синтаксис точно уже не помню...) :
Код: Выделить всё
Move AX, BX
Move BX, CX
после чего используются регистры АХ и СХ, а про ВХ абсолютно никакого упоминания. Я неуверенным жестом исправил обе строки на одну
Код: Выделить всё
Move AX, CX
после чего никаких изменений ессно не заметил. Долго пытался вспомнить, какие же великие мысли роились в моей голове при написании этих двух строк, но вспомнить не удалось. И так все в том же духе... Короче через минут 20 мучений переписал все нафиг заново за 5 минут и сразу все заработало :lol:


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 107

    TopList  
cron