Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Подобрување на генерирањето на случајни тест податоци #16

Open
goce-smilevski opened this issue Apr 22, 2016 · 4 comments

Comments

@goce-smilevski
Copy link
Collaborator

Ова е добро за почеток, ајде сега да го напрајме уште подобро (одговорноста е моја зато шо не стигнаф да седнам да напишам прописна спецификација, ама еве сега ќе пробам да надоместам :)).

По некои точки само ќе поставам прашања, за преку одговори да дојдиме до точното решение, кое после ќе доведи до акција (измени на кодот).

  1. Местоположбата: дали ваквата функционалност ќе ни треба во вистинскиот web site кој ќе се инсталира да врти негде на некој јавно достапен сервер или само ќе ни служи како помошна алатка при развој ?
  2. Кирилица: за сите податоци во апликацијата да го користиме службеното писмо.
  3. Шо ќе се случи ако сакаме да изгенерираме, на пример, 5,000 корисници ? Или уште посложено, да изгенерираме случаен број на корисници од 5,000 до 7,000 ?
  4. Со еден Random објект ќе завршиме работа за целово генерирање на податоци. Истото важи и за int ime и int prezime (тие се за една употреба, а на крајот можи и да не ни требат воопшто посебни променливи туку директно со повикот на Random објектот да го земиме елементот со одреден случајно изгенериран индекс).
  5. Шо ќе се случи ако додајме нови 10 елементи во листите со презимиња и имиња, а сакаме и тие (новите елементи) да бидат земени предвид при генерирањето на случајни податоци ?
  6. Моментално има поеднаква застапеност на машки и женски корисници (паралелно се додава по еден машки и еден женски корисник во листата). Како би постапиле ако сакаме на пример, да изгенерираме (грубо земено) 75% женски корисници и 25% машки ?
  7. Ова за понатаму (ко ќе дојди време за пријавите): Како би изгенерирале случаен датум во периодот од 01.01 до 31.12 во некоја година ?
@andreastamenkovska
Copy link
Contributor

Поправено.

andreastamenkovska added a commit that referenced this issue Apr 26, 2016
andreastamenkovska added a commit that referenced this issue Apr 26, 2016
andreastamenkovska added a commit that referenced this issue Apr 26, 2016
andreastamenkovska added a commit that referenced this issue Apr 26, 2016
@goce-smilevski
Copy link
Collaborator Author

goce-smilevski commented Apr 27, 2016

Добро е, се движиме напред. Еве фтора тура:

  1. random - случаен, случајни, случајно ...
  2. Добро е шо податоците се во file-ови, така се одделени од кодот. Арно ама обично во ваква ситуација, кога податоците се дел од проектот, секој file треба да се ископира во излезниот фолдер (на пример, за Debug build то е bin\Debug). Ова се постигнува со опцијата Copy to Output Directory = True во Properties на секој file. После ова би требало да можи да се пристапи до исите преку код со помош на релативна патека, со користење на ова или ова. Вака како шо е сега, со апсолутна hard-code-ирана патека, при обид за извршување јавува грешка бидејќи патот го нема кај мене на дискот.
  3. Наместо ова:
    foreach (var zI in zenskiIminja) { zenskiIminjaList.Add(zI); }
    постои метод AddRange за групно додавање на елементи во листа. На влезот му треба IEnumerable а string[] мислам дека е точно то :)
  4. Ако a = b + c, доволно е да ги внесиме само b и c. А не е лошо и да му дајме и поописни имиња според намената. Исто така, згодно е за поедноставување на користењето и тестирањето, програмата да нуди некои почетни вредности (на пример 500 + 500) кои корисникот ако сака ќе си ги смени.
  5. randoM.Next(0, (mashkiIminjaList.Count - 1)
    Колку шо знам, горната граница (фториот параметар) на Random.Next методот е исклучиф, т.е. random(min, max) враќа случаен број од min до max - 1. Според ова, не треба да се одзема 1, зато шо така се исфрла последниот елемент на листата од игра.
  6. Паметно е ко ќе програмата заврши со работа, корисникот да биди на некој начин известен за то со порака (MessageBox.Show). Исто така, паметно е да се види шо програмата сработила, т.е. случајните податоци да се прикажат во некакоф облик (multi-line text box со еден корисник по линија, list box или нешто слично).

andreastamenkovska added a commit that referenced this issue Apr 27, 2016
@andreastamenkovska
Copy link
Contributor

Поправено :)

@goce-smilevski
Copy link
Collaborator Author

Ок, со то шо идејата ми беше дека ова:

                foreach (var mP in mashkiPreziminja)
                {
                    mashkiPreziminjaList.AddRange(mashkiPreziminja);
                }

можи да се замени само со еден повик на AddRange, не треба foreach.

Со случајниве податоци тука ќе заприме засега, видете шо можи со web-от да напредувате.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants