- 1
- 2
- 3
- 4
function validPhone($str) {
$digits = split("[0-9]",$str);
return count($digits)>10;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+169
function validPhone($str) {
$digits = split("[0-9]",$str);
return count($digits)>10;
}
Один из комментариев к функции http://ru2.php.net/split
+150.4
sei();
}
if( xp_buff_ready > 0 && pc_rec_en == 0 )
{
for( i=0; xp_buff_ready!=i; i++ )
rs232_transmit(xp_response[i]);
clear_buff(1);
xp_buff_ready = 0;
xp_rec_en = 0;
my_window = 0;
}
if( ack == 1 )
{
rs232_transmit('A');
rs232_transmit('C');
rs232_transmit('K');
rs232_transmit(' ');
rs232_transmit('E');
rs232_transmit('r');
rs232_transmit('r');
rs232_transmit('o');
rs232_transmit('r');
ack = 0;
my_window = 0;
xp_rec_en = 0;
}
};
return 0;
}
void clear_buff(unsigned char buff)
{
if( buff == 0 )
for( i=0; i<18; i++ )
pc_command[i] = 0;
if( buff == 1 )
for( i=0; i<16; i++ )
xp_response[i] = 0;
return;
}
void avr_init(void)
{
// 62500 9bit 1 stop no parity
UCSR0A=0x00;
UCSR0B=0x9C;
UCSR0C=0x86;
UBRR0H=0x00;
UBRR0L=0x0F;
// 56000 8bit 1 stop no parity
UCSR1A=0x00;
UCSR1B=0x98;
UCSR1C=0x06;
UBRR1H=0x00;
UBRR1L=0x11;
DDRC = 0b00000011;
PORTC= 0b00000000;
DDRD = 0b00000001;
PORTD= 0b00000000;
DDRG = 0b00011011; //определить все ножки порта G (PG3 - DE status, PG4 - DE counter)
PORTG = 0b11100100; //включить подтяжку резисторов
DDRD = 0b11111000; //PD0, PD1 - SCL-SDA, PD2 -RxD1, PD3 - TxD1 PD4 - STAT/COUN, PD5 - RE STAT, PD6 - RE Coun, PD7 - testLD
PORTD = 0b01101111; //подключить внутренние резисторы на входах, a выходы установить в "0"
PORTG &=~_BV(PG4); //disable DE RS485
PORTD &=~_BV(PD5); //enable RE RS485
return;
}
+151.4
if( pc_rbyte == 0xFA && pc_buff_ready == 0 && pc_rec_pos == 0)
{
pc_rec_en = 1;
return;
}
return;
}
ISR(USART0_RX_vect)
{
cli();
rbyte = rs485_reciv();
if( COMM == 1 && rbyte != 0x42 )
xp_rec_en = 1;
if(COMM == 1 && rbyte == 0x42)
{
//xp_rec_pos++;
xp_response[xp_rec_pos] = xp_xor;
COMM = 0;
xp_rec_en = 0;
xp_buff_ready = xp_rec_pos;
xp_rec_pos = 0;
xp_rec_en = 0;
xp_xor = 0;
}
if( xp_rec_en == 1 )
{
if( rbyte != xp_xor && xp_rec_pos<16 )
{
xp_response[xp_rec_pos] = rbyte;
xp_xor = xp_xor^rbyte;
xp_rec_pos++;
}else{
xp_buff_ready = xp_rec_pos;
xp_rec_pos = 0;
xp_rec_en = 0;
xp_xor = 0;
}
}
if( rbyte == 0x60 )
{
xp_rec_en = 1;
xp_response[0] = rbyte;
xp_rec_pos++;
}
if( rbyte == 0x41 && my_window!=1)
COMM = 1;
if( (bit9&0b00000010) == 0b00000010 && (rbyte&0b00011111) == myXPaddress )
switch( (rbyte&0b01100000) )
{
case 0b01000000: ack = 0; if( pc_buff_ready == 1 ) my_window = 1; xp_rec_en = 0;break; // NormalInquary
case 0b01100000: ack = 0; my_window = 0; xp_rec_en = 1;break; // CallByte
case 0b00000000: ack = 1; my_window = 0; xp_rec_en = 0;break; // ACK!
}
rbyte = 0;
sei();
return;
}
int main(void)
{
avr_init();
sei();
//PORTD &=~(1<<transmit_en);
//pc_buff_ready = 1;
while (1)
{
//if( pc_buff_ready == 1 ) //pc_buff_ready == 1 &&
//{
if( my_window == 1 )
{
cli();
_delay_us(30);
//PORTD |= (1<<transmit_en);
PORTG |=_BV(PG4); //disable DE RS485
PORTD |=_BV(PD5); //enable RE RS485
//_delay_us(5);
for( i=0; pc_rec_pos != i; i++ )
rs485_ransmit(pc_command[i]);
while ( !( UCSR0A & (1<<UDRE0)) );
_delay_us(160);
PORTG &=~_BV(PG4); //disable DE RS485
PORTD &=~_BV(PD5); //enable RE RS485
my_window = 0;
clear_buff(0);
pc_buff_ready = 0;
pc_rec_pos = 0;
+153.4
$db = new PDO("mysql:host=" . $config['dbhost'] . ";dbname=" . $config['dbname'], $config['dbuser'], $config['dbpassword']);
$db->exec("set names utf8");
$result = $db->query("call get_user_account('$session_id');");
foreach ($result as $row)
{
die($row['account']);
}
die("err");
Готический output.
+156.2
switch ($result['state'])
{
case 'Oregon':
$row->state = 'OR';
break;
case $row->state=='Washington':
$row->state = 'WA';
break;
}
нашел у своего потрудника, долго не мог понять что второй кейс делает и как это вообще работало
+115.4
public partial class AbstractPickerBrw : Form
{
//...
public AbstractPickerBrw ()
{
this.Shown += new System.EventHandler(this.AbstractPickerBrw_Shown);
}
//...
private void AbstractPickerBrw_Shown(object sender, System.EventArgs e)
{
Width = Width % 2 == 0 ? Width + 1 : Width - 1;
}
}
Это мой код, просто не мог добиться перерисовки диалога при смене данных в WinForms и решил не заморачиваться.
+74
lstCmsObject = OpenCms.getOrgUnitManager().getGroups(obj, "/", true);
for (int i = 0; i < lstCmsObject.size(); i++)
{
lstUnits.add(new Units(lstCmsObject.get(i).getDisplayName(obj, Locale.US).replaceAll("Users from ","").replaceAll("[a-zA-Z]*","").replaceAll("[(/)]+",""),lstCmsObject.get(i).getOuFqn()));
}
for (int i = 0; i < lstCmsObject.size(); i++) {
for (int j = 0; j < lstCmsObject.size(); j++) {
if (lstUnits.get(i).GetName().compareTo(lstUnits.get(j).GetName())<0) {
Collections.swap(lstUnits, i, j);
}
}
}
−116.2
# TODO: выбросить нахер метод with_company_and_state и правильно написать
# этот named scope
named_scope :with_company_and_state_non_uniq, lambda { |company, state|
{ :conditions => [ 'products.company_id = :company_id AND ' +
'state_mask = :state_mask', { :company_id => company,
:state_mask => OrderSet::STATES.index(state) || 0 } ],
:order => 'order_sets.created_at DESC',
:joins => 'INNER JOIN products' }
}
def self.with_company_and_state(company, state)
with_company_and_state_non_uniq(company, state).uniq
end
Бывает, что SELECT DISTINCT сделать не всегда возможно. На самом деле, такая выборка сосёт.
+76.8
public void isChangenabledExc(){
if(isNew){
return;
}
if(true)return;//TODO
if(!isChangenabled()){
throw new ChangeEIsNotLockedException();
}
}
В этой функции находится единственный коментарий из всего файла.
Видимо в планах эта функция должна была делать нечто хорошее, но
планы так и не были осуществелны.
В результате получилась функция, которая ничего не делает, а только проверяет какие то условия.
поиском обнаружил 5 вызовов этой функции.
+118
<asp:Repeater runat="server" ID="rpAccountType">
<ItemTemplate>
<input type="checkbox" name="cbGroupAccountType" id="cbAccountType_<%#((KeyValuePair<string, object>)Container.DataItem).Value %>" value="<%#((KeyValuePair<string, object>)Container.DataItem).Value %>" <asp:Literal Id="lAccountTypeChecked" runat="server" />/><label for="cbAccountType_<%#((KeyValuePair<string, object>)Container.DataItem).Value %>"><asp:Literal runat="server" ID="lAccountTypeName" /></label><br />
</ItemTemplate>
</asp:Repeater>
ASP.NET. Значения генерируемых чекбоксов, в задумке, еще и на code-behind сильно влияют.